函数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
以上就是关于以下程序的运行结果是全部的内容,包括:以下程序的运行结果是、下面程序的运行结果是:、以下程序的输出结果是()等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)