以下程序的运行结果是

以下程序的运行结果是,第1张

函数sub中的引入参数是是形式参考,比方说第一个sub(x3, x4);

函数最先执行的语句是:int x = x3, int y = x4;//把x3跟x4的值赋给x跟y

所以函数里面改变的是x跟y的值,而x跟y在函数结束后就被清除了,所以受改变的只有全局变量x1,第一次执行sub的时候,

x = x3;

x1 = x;//x1==10;

同理,第二次的时候x1的值就等于x2了,所以x1最终值为40,其他值不变,输出结果是:

10, 20, 40, 40

i从1到5循环,对应的b初始为1,0,1,0,1。

b-->=0是先取b的值判断是否>=0,再将b减1。

所以当b=0时,b-->=0成立,之后b=-1,b>=0不成立,但b--还会执行,b变成-2。

所以当b=0时,while(b-->=0)会执行一次,当b=1时,会执行两次。所以k++总共执行了2+1+2+1+2=8次。

#include<stdioh>

main

{

int k=0,m=0;

int i, j;

for(i=0;i<2;i++)

{

for(j=0;j<3;j++)

{

k++;

}

k-=j;

}

m=i+j;

printf("k=%d,m=%d",k,m);

}

请这样写代码更清晰,内层循环for(j=0;j<3;j++)循环之后j=3,K经过三次(0-2)K++ *** 作也等于3

k-=j;等效于k=k-j ,所以K值位0 j为3

答案是C

因为当i=4时 第一个for循环 j=1到j<=4 打印四个# 第二个for循环 j=1到j<0 不打印

当i=3时 第一个for循环 j=1到j<=3 打印三个# 第二个for循环 j=1到j<1 不打印

当i=2时 第一个for循环 j=1到j<=2 打印两个# 第二个for循环 j=1到j<2 打印一个

当i=1时 第一个for循环 j=1到j<=1 打印一个# 第二个for循环 j=1到j<3 打印两个

char ch[7]={"12ab56"}; 意思是把12ab56七个字符分别赋值到数组ch[0],ch[1]ch[6]中。

for(i=0;ch[i]>='0'&&ch[i]<'9';i+=2) 意思是从i=0开始,如果ch[i]大于等于字符‘0’且小于字符‘9’(可以由ASCII码将字符转换为十进制数来计算)那么i=i+2,否者终止循环。字符‘0’ASCII码为48,字符‘9’ASCII码为57;

ch[0]=字符'1'ASCII码为49,所以ch[0]满足大于等于字符‘0’且小于字符‘9’,执行s=10s+ch[0]-'0'=100+49-48=1(全部转化为十进制运算);

i=i+2=2;

ch[2]=字符‘a’ASCII码为97不满足条件,循环结束执行printf("%d\n",s); ,%d表示输出的为十进制整形数字,s=1,所以运行结果为1

以上就是关于以下程序的运行结果是全部的内容,包括:以下程序的运行结果是、下面程序的运行结果是:、以下程序的输出结果是()等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存