为了账号安全,请及时绑定邮箱和手机立即绑定

为什么输不出结果

为什么得不到结果???

正在回答

2 回答

这么久了,不知道解决了没,你的变量b赋值的那个if语句放在switch之前应该就可以了。执行switch语句之前b是没有赋值的,相当于b=0,所以不管你后面的b是1还是0,这里加的都是0。

0 回复 有任何疑惑可以回复我~
#1

ainanshen 提问者

非常感谢!
2016-04-16 回复 有任何疑惑可以回复我~
#2

vialook 回复 ainanshen 提问者

可千不要以为不赋值就会默认为0,局部变量未赋值就使用是错误的。 试验代码如下: #include <stdio.h> int main() { int a,b,c; printf("a=%d b=%d c=%d \n",c,b,a); return 0; }
2016-04-18 回复 有任何疑惑可以回复我~
#3

vialook 回复 ainanshen 提问者

可千不要以为不赋值就会默认为0,局部变量未赋值就使用是错误的。 试验代码如下: #include <stdio.h> int main() { int a,b,c; printf("a=%d b=%d c=%d \n",c,b,a); return 0; }
2016-04-18 回复 有任何疑惑可以回复我~
#4

vialook 回复 ainanshen 提问者

嗯,不客气。不过这个回答有个问题,就是“b没有赋值相当于b=0”这种说法是错误的,局部变量一定要赋值之后才可以使用。你可以复制下面代码试一下,声明三个以上变量,然后不赋值就输出,结果并非默认为0。
2016-04-18 回复 有任何疑惑可以回复我~
#5

vialook 回复 ainanshen 提问者

字数原来有限制,结果把之前的都自动给我删掉了。请将以上回复自下向上看。
2016-04-18 回复 有任何疑惑可以回复我~
查看2条回复

 printf("%d年%d月%d日是该年的第%d天",year,month,day,a);这行的逗号是中文的;变量b没初始化

0 回复 有任何疑惑可以回复我~
#1

ainanshen 提问者

还是不行
2016-02-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926018    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

为什么输不出结果

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信