[讨论]{求助}关于GCC编译问题

内核编译和嵌入式产品的设计与开发
回复
头像
HolySaint
帖子: 41
注册时间: 2006-07-19 14:59

[讨论]{求助}关于GCC编译问题

#1

帖子 HolySaint » 2007-06-17 1:01

我的。c文件是

代码: 全选

    #include <stdio.h> 
    #include <stdlib.h> 
    #include "tri.h"
    #include "hello.h"
    int main() 
    { 
    tri();
    hello();
    }
.h文件是

代码: 全选

#define n 5
#define m 4
int tri() 
{ 
long i, j, k; 
for (i = 0; i < n; i++) 
{ 
j = n - i; 
for (k = 0; k < = j; k++) 
printf(" "); 
for (k = 0; k < 2*i+1; k++) 
printf("*"); 
printf("\n"); 
}
for (i = m; i >0; i--) 
{ 
j = m - i + 1; 
for (k = 0; k < = j+1; k++) 
printf(" "); 
for (k = 0; k < = 2*(i-1); k++) 
printf("*"); 
printf("\n"); 
}
return 0; 
}

代码: 全选

void hello()
{
	printf("hello world");
}
不能生成可执行文件
我用的是
$ gcc tri.c -o hello
In file included from tri.c:3:
tri.h: 在函数 ‘tri’ 中:
tri.h:9: 错误: expected expression before ‘=’ token
tri.h:18: 错误: expected expression before ‘=’ token
tri.h:20: 错误: expected expression before ‘=’ token
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#2

帖子 bones7456 » 2007-06-17 1:07

是“<=”
不是“< =”
这两个符号合起来才是一个运算符,中间不能有空格的。
关注我的blog: ε==3
头像
HolySaint
帖子: 41
注册时间: 2006-07-19 14:59

#3

帖子 HolySaint » 2007-06-17 1:09

bones7456 写了:是“<=”
不是“< =”
这两个符号合起来才是一个运算符,中间不能有空格的。
多谢大大这么晚了还给予我帮助
多谢 :D :D :D :D :D :D :D
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#4

帖子 bones7456 » 2007-06-17 1:11

:D :D :D
关注我的blog: ε==3
头像
HolySaint
帖子: 41
注册时间: 2006-07-19 14:59

#5

帖子 HolySaint » 2007-06-17 1:11

$ gcc tri.c -o hello
$ ./hello
*
***
*****
*******
*********
*******
*****
***
*
hello world

终于出结果了,再次感谢
humwen
帖子: 10
注册时间: 2006-07-14 13:14

#6

帖子 humwen » 2007-07-18 9:58

你的程序是有问题的,按照你的程序得不出你的结果,应该做如下更改:
tri.h:

#define n 5
#define m 4

int tri()
{
long i,j,k;
for(i=0;i<n;i++)
{
j=n-i;
for(k=0;k<=j;k++)
{
printf(" ");
}
for(k=0;k<=(2*i+1);k++)
{
printf("*");
}
printf("\n");

}
for(i=m;i>0;i--)
{
j=m-i+1;
for(k=0;k<=j+1;k++)
{
printf(" ");
}
for(k=0;k<2*i;k++)
{
printf("*");
}
printf("\n");
}
return 0;
}
回复