[问题]while ((a = getchar()) != EOF)这句用gcc无法编译成功。。

C、C++和Java语言
回复
superwwt
帖子: 21
注册时间: 2007-07-15 0:31
送出感谢: 0
接收感谢: 0

[问题]while ((a = getchar()) != EOF)这句用gcc无法编译成功。。

#1

帖子 superwwt » 2007-08-06 20:55

第一次求助~新手~刚刚开始用ubuntu
ubuntu7.04

随意写东西,相关语句如下
#include<stdio.h>
main ()
{
int a;
while ((a = getchar()) != EOF)
putchar(a);
}

记得用vc没有问题的,但是gcc总是提示,while这一行expected expression before ‘=’ token
记得这是例题阿。。。怎么回事呢。。。?

谢谢大家先~
头像
antonym55
帖子: 353
注册时间: 2007-04-03 9:52
送出感谢: 0
接收感谢: 0
联系:

#2

帖子 antonym55 » 2007-08-06 21:38

我这没问题,你把gcc 的提示贴出来
TODO LIST:
1.valgrind:
2.gcov:
3.cppuint:未在Linux中使用
4.PostgreSQL:unixODBC
5.Doxygen:UTF8 中文问题,生成LaTex文档问题
6.LaTex:明确安装问题,UTF8 中文字体问题
superwwt
帖子: 21
注册时间: 2007-07-15 0:31
送出感谢: 0
接收感谢: 0

#3

帖子 superwwt » 2007-08-06 22:10

就是这句。。

expected expression before ‘=’ token
头像
antonym55
帖子: 353
注册时间: 2007-04-03 9:52
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 antonym55 » 2007-08-06 23:52

superwwt 写了:就是这句。。

expected expression before ‘=’ token


gcc 的错误提示是有行号的吧? 我这里确实没问题,你自己检查一下
附件
ok.png
TODO LIST:
1.valgrind:
2.gcov:
3.cppuint:未在Linux中使用
4.PostgreSQL:unixODBC
5.Doxygen:UTF8 中文问题,生成LaTex文档问题
6.LaTex:明确安装问题,UTF8 中文字体问题
superwwt
帖子: 21
注册时间: 2007-07-15 0:31
送出感谢: 0
接收感谢: 0

#5

帖子 superwwt » 2007-08-07 8:20

谢谢ls~重启回来再弄,好了
也不知道昨天是怎么回事~~~
头像
JiajiaX2
帖子: 36
注册时间: 2008-01-17 23:13
送出感谢: 0
接收感谢: 0

#6

帖子 JiajiaX2 » 2008-04-06 0:31

靈异
头像
ChloeRei
帖子: 1021
注册时间: 2007-11-23 9:49
送出感谢: 0
接收感谢: 1 次

#7

帖子 ChloeRei » 2008-04-13 0:59

:shock: 哎?怎么没return也过的?

代码: 全选

rei@rei-desktop:~/Desktop$ gcc 3.c
rei@rei-desktop:~/Desktop$ gcc 3.c -Wall
3.c:3: 警告: 返回类型默认为 ‘int’
3.c: 在函数 ‘main’ 中:
3.c:7: 警告: 在有返回值的函数中,控制流程到达函数尾


:lol: 建议养成良好习惯,加-Wall参数。
头像
hecha
帖子: 364
注册时间: 2007-09-23 13:36
送出感谢: 0
接收感谢: 2 次

#8

帖子 hecha » 2008-04-13 20:49

根据标准, main函数不写return 是可以的.
是吧?
dbzhang800
帖子: 3182
注册时间: 2006-03-10 15:10
来自: xi'an China
送出感谢: 0
接收感谢: 2 次
联系:

#9

帖子 dbzhang800 » 2008-04-13 21:07

hecha 写了:根据标准, main函数不写return 是可以的.
是吧?

c和c++ 的标准都要求main函数必须返回一个int型值。
头像
sevk
帖子: 2059
注册时间: 2007-05-08 16:26
系统: arch
来自: 火星内核某分子内某原子核内
送出感谢: 20 次
接收感谢: 6 次
联系:

#10

帖子 sevk » 2008-04-13 22:11

听说返回0是成功.....
笔记本 :
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387
头像
Yizer
帖子: 296
注册时间: 2007-11-07 14:41
来自: 佳木斯
送出感谢: 0
接收感谢: 0
联系:

#11

帖子 Yizer » 2008-04-13 22:32

练习的程序没有必要写那么正规吧
貌似不Return 0也可以的
Dell 1520
------------------------
Intel Core T7500
1G*2
120G
Nvidia 8600 GT
My BLOG
lushenghua
帖子: 19
注册时间: 2007-09-14 22:32
送出感谢: 0
接收感谢: 0
联系:

Re: [问题]while ((a = getchar()) != EOF)这句用gcc无法编译成功。。

#12

帖子 lushenghua » 2008-04-20 16:28

superwwt 写了:第一次求助~新手~刚刚开始用ubuntu
ubuntu7.04

随意写东西,相关语句如下
#include<stdio.h>
main ()
{
int a;
while ((a = getchar()) != EOF)
putchar(a);
}

记得用vc没有问题的,但是gcc总是提示,while这一行expected expression before ‘=’ token
记得这是例题阿。。。怎么回事呢。。。?

谢谢大家先~



while ((a = getchar()) != EOF)
这句中间a和等号之间的空格去掉试试?我是菜鸟,瞎蒙的,不妨试试吧
回复

回到 “C/C++/Java”