C语言的一道题:下面程序段的运行结果是:__ for (a=1,i=-1;-1<=i<1;i++)

C语言的一道题:下面程序段的运行结果是:__ for (a=1,i=-1;-1<=i<1;i++),第1张

C语言中 -1<=i<1 这样的语句是无法达到你要的效果的,对于这个句子,C语言是这样处理的:

(-1<=i)<1 (1)

这样的话,-1<=i为真,所以这个表达式的值为1,也就是说(1)这个表达式等价于(1<1)然后这个式子为假,所以不会进入该循环,所以i没有发生变化,也不会输出i,所以答案为-1

如果for循环写成这样:for (a=1,i=-1;-1<=i&&i<1;i++) 那么题主你的答案就对了。

题目中错误比较多,从题目和答案来看原本应该是

#include<stdioh>

int main() {

char p="13542";

while(p!='4')

printf("%c",(p++)+1);

return 0;

}

while里是判断p指向的位置是不是字符4,如果不是才继续,所以循环就是

输出p+1,p此时为'1',+1后自然就是'2',因此输出2,p++

同样,输出'3'+1即'4',p++

再输出'5'+1即6

此时p已经指向'4'了,循环中止

答案就是A

首先,要注意a--和--a的区别:

a--是先进行a在式中的计算再进行a--。

--a是先进行a的自减再计算。

比如:a=1;b=a--;这样的话b的值为1。

a=1;b=--a;这样的话b的值是0。

其次,a=1时运行完while(a-->=0)后 a=0;m会自增,m=1。

所以while(a-->=0)在上次循环后仍会符合条件,m仍会自增,此时a=-1,m=2。

m自增后并未跳出循环。这个判断句仍然会执行一次,然后发现结果不符合条件了。所以就跳出了循环。

纯手打,欢迎追问。

你的代码格式太乱了, if和else中的语句快最好加{}标记起来,段落之间分好

有个良好的代码书写规范,无论是对自己还是对看你代码的人都很重要

上边的代码是我重新整理格式之后的,你可以尝试加{}代码规范之后,就很容易推断出结果了

建议自己编译一下,跑一下结果给你很简单

scanf("%d",&n),输入符合%d格式要求的数据,也就是整型数,而不是字符或浮点数时,n正常读入数值后返回1;

以上while组合语句就是输入的是整型数时,进入循环体,进行循环,一直到输入字符或浮点数时终止循环。

以上就是关于C语言的一道题:下面程序段的运行结果是:__ for (a=1,i=-1;-1<=i<1;i++)全部的内容,包括:C语言的一道题:下面程序段的运行结果是:__ for (a=1,i=-1;-1<=i<1;i++)、C语言程序问题,求运行详细过程、C语言运行程序问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10104633.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存