报错 syntax error before "else"

evandpr 2013-04-09 05:49:10
初学C语言,试着写了一段代码,但是编译的时候总是报错 syntax error before "else"

麻烦帮我看一下我哪里写错了.

#include <stdio.h>

int c;

main()
{
while ((c=getchar())!=EOF){
if (c ==' ' || c == '\t')
printf("\n");
putchar(c);
else
putchar(c);
}
}
...全文
800 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiayiguo 2013-04-09
  • 打赏
  • 举报
回复
注意大括号啊! 自己缩进了,你可以知道是什么意思,可是编译器不明白,它只按照c语言的规则进行编译。
aozhi 2013-04-09
  • 打赏
  • 举报
回复
要搞清楚语句块的概念啊。
evandpr 2013-04-09
  • 打赏
  • 举报
回复
啊! 知道了.多谢楼上几位
图灵狗 2013-04-09
  • 打赏
  • 举报
回复
比较好的写法是:

#include <stdio.h>
  
int main(void)
{
	int c;

	while((c = getchar()) != EOF)
	{
		if(c == ' ' || c == '\t')
		{
			printf("\n");
			putchar(c);
		}
		else
		{
			putchar(c);
		}
	}

	return 0;
}
starytx 2013-04-09
  • 打赏
  • 举报
回复
c语言要注意大括号,if和else之间如果只有一句可以不带大括号,多句的话必须带大括号括起来,else之后也一样,否则进入else的话只执行else后边紧跟的那一句
shichuan609 2013-04-09
  • 打赏
  • 举报
回复
拜托,if那里没有{},应该是: #include <stdio.h> int c; main() { while ((c=getchar())!=EOF){ if (c ==' ' || c == '\t') { printf("\n"); putchar(c); } else putchar(c); } }

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧