[C语言]《零基础入门学习C语言》第五章考核第7题
#include <stdio.h>main()
{
int a = -7;
while( a-- );
;
printf("%d", a);
}
为什么答案是-1呢?a--不是做减法吗,-7会越减越小,怎么会减到-1呢
#include<stdio.h>
int main()
{
char a;
int c;
a=-7;
while(a--)
{
c=(int)a;
printf("%d",c);
printf("\n");
}
printf("%c",a);
printf("\n");
}
运行这个程序你看的可能更加清楚一点,这里我用了char型而不是int型,但这两个原理都是一样的,你可以看一下屏幕上显示的数字,然后你就会明白了。char型的下线是-127,超出这个数字时又会变成+127,在while循环中它会变成零而退出循环,因为是a--先用后减,它会继续变成-1. 万千不待 发表于 2014-3-26 19:51 static/image/common/back.gif
#include
int main()
{
你忘记加“return 0”了喔 本帖最后由 Simanzen 于 2014-3-27 00:46 编辑
二楼正解。不信的话可以试一下下面的程序#include <stdio.h>
int main()
{
char a = -7;
while( a-- && int(a)!=126)
;
printf("%d", int(a));
return 0;
}
万千不待 发表于 2014-3-26 14:36 static/image/common/back.gif
#include
int main()
{
谢谢你,我懂了,难怪-7的时候比7用的时间要长,讲的非常详细,我表示真心的感谢~:big Simanzen 发表于 2014-3-27 00:41 static/image/common/back.gif
二楼正解。不信的话可以试一下下面的程序#include
int main()
我信了,也运行了你的程序,非常谢谢啊,这倒题我弄懂了~ 你好,零基础学C的课后作业在哪里找 自己是谁 发表于 2019-2-26 22:57
你好,零基础学C的课后作业在哪里找
https://fishc.com.cn/forum.php?mod=forumdisplay&fid=329&filter=typeid&typeid=570
页:
[1]