首页
编程星球
啊哈磊的小伙伴
求助
交流
添柴
挑战
题库
院校合作
加入圈子
扫码关注啊哈磊
QQ群:703568346
@啊哈编程星球
暑期课程
金牌教练带你玩转编程!
扫码预约课程
未登录
我的添柴
退出账号
搜索
搜索
本版
文章
帖子
用户
啊哈磊_编程从这里起步
»
交流
›
互助分享
›
学习求助
›
新人又有个问题
返回列表
发新帖
查看:
1057
|
回复:
4
新人又有个问题
[复制链接]
coolllyy
coolllyy
当前离线
积分
47
电梯直达
#
发表于 2013-11-8 11:04:06
|
只看该作者
|
正序浏览
|
阅读模式
5
啊哈币
#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
查看完整内容
if和else后面都只能放一个语句,如果需要放多条语句就要用大括号括起来,组合成一条复合语句 这里的 if 语句a 语句b 语句c else 语句d 语句e 语句f 是这样被编译器理解的,在else找不到紧邻的if了,于是通不过编译,改法就是加上大括号 当然其实这段代码的问题不止这些,根据作者用意这么改就行了
楼主新帖
新手继续求助
超级新人求助
楼主热帖
超级新人求助
新手继续求助
收藏
0
转播
分享
回复
举报
827443469
827443469
当前离线
积分
4
地板
发表于 2013-11-8 23:24:48
|
只看该作者
在没有补充{}的情况下,if;for;while后面只有出现;就默认该判断或循环结束,如:
unsigned int i;
for(i=0;i<10;i++);
和
for(i=0;i<10;i++);
{
;
}是一样的
初学者的一点挫见
回复
举报
Doctorly
Doctorly
当前离线
积分
34
板凳
发表于 2013-11-8 16:13:29
|
只看该作者
if/else后面只能控制一个语句,要想控制多个语句必须加{}
回复
举报
coolllyy
coolllyy
当前离线
积分
47
沙发
楼主
|
发表于 2013-11-8 15:21:01
|
只看该作者
#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;
}
果然编译通过了,多谢了~
回复
举报
rosynirvana
rosynirvana
当前离线
积分
7454
楼主
发表于 2013-11-8 11:04:07
|
只看该作者
if和else后面都只能放一个语句,如果需要放多条语句就要用大括号括起来,组合成一条复合语句
这里的
if
语句a
语句b
语句c
else
语句d
语句e
语句f
是这样被编译器理解的,在else找不到紧邻的if了,于是通不过编译,改法就是加上大括号
当然其实这段代码的问题不止这些,根据作者用意这么改就行了
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖并转播
广播台
特别关注
快速回复
返回顶部
返回列表