啊哈磊_编程从这里起步
标题:
新人又有个问题
[打印本页]
作者:
coolllyy
时间:
2013-11-8 11:04
标题:
新人又有个问题
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
scanf("%d",&a);
if(a%2==1)
printf("%d",a+1);
printf("%d",a+2);
printf("%d",a+3);
else
printf("%d",a-1);
printf("%d",a-2);
printf("%d",a-3);
system("pause");
return 0;
}
书本第三章的大家来找茬 有2处错误,找了半天不知道错在哪,编译都不能通过。求援助。
作者:
rosynirvana
时间:
2013-11-8 11:04
if和else后面都只能放一个语句,如果需要放多条语句就要用大括号括起来,组合成一条复合语句
这里的
if
语句a
语句b
语句c
else
语句d
语句e
语句f
是这样被编译器理解的,在else找不到紧邻的if了,于是通不过编译,改法就是加上大括号
当然其实这段代码的问题不止这些,根据作者用意这么改就行了
作者:
coolllyy
时间:
2013-11-8 15:21
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
scanf("%d",&a);
if(a%2==1)
{printf("%d",a+1);
printf("%d",a+2);
printf("%d",a+3);}
else
{printf("%d",a-1);
printf("%d",a-2);
printf("%d",a-3);}
system("pause");
return 0;
}
果然编译通过了,多谢了~
作者:
Doctorly
时间:
2013-11-8 16:13
if/else后面只能控制一个语句,要想控制多个语句必须加{}
作者:
827443469
时间:
2013-11-8 23:24
在没有补充{}的情况下,if;for;while后面只有出现;就默认该判断或循环结束,如:
unsigned int i;
for(i=0;i<10;i++);
和
for(i=0;i<10;i++);
{
;
}是一样的
初学者的一点挫见
欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/)
Powered by Discuz! X3.2