你的C语言程序有一个错误,就是p1=&m;这句,应该改成p1=&m;因为m的地址只能赋给一个指针p1,而不能赋给指针所指的值p1
改正后的程序,运行结果是A 4,8
因为p1=&k,所以p1指向k,p1=4
因为p2=&m,所以p2指向m,p2=6
现在a=p1=4,
又因为p1=&m;所以现在p1指向m,p1=6
b=(p1)/(p2)+7=6/6+7=8
因此a=4,b=8,printf("%d,%d",a,b)输出4,8 选A
1、输出为:1
if条件语句中,当()中的值为零时,条件为假,非零时条件为真;
由于逻辑运算2&&3结果为1,故条件为真,程序执行a=1语句;
最终输出为1
2、输出为:7
运行switch(1)时,将执行case(1)语句,并接着往下执行直至遇到break,或者整个switch语句结束
所以最终b=1+1+2+3=7
3、输出为:5
实际上for循环中 i 有两次自加运算,故步长为2,;即当 i 增加2时,a加1;当 i >=10时,跳出循环
最终循环一共进行了5次,所以结果a=5
4、输出为;101
for循环中,每循环一次 j 加1,j 的初值为0,当 j >100时跳出循环
故循环一共进行了101次,当 j =101时退出循环,此时 j =101
5、输出为:10
这是一个do—while循环语句,当while中 j 不等于5时进行循环,当 j =5时循环结束
该语句中一共循环了5次
a=0+1+2+3+4=10
这些程序都很简单,估计你是初学的吧,所以我写的详细点,有啥不懂的都可以再问。
这个程序本身就没有错啊!!只是要保持一个好习惯调用函数之前要先声明
至于运行结果为什么会是这样呢前三次的reset函数的调用对i都是没有用的,因为输出的是i的值,所以i=5,i=2,i=2(第二次的时候i被赋值为i/2=2)之后调用workover,在workover中,i(此时为2)被赋值(i%i)((ii)/(2i)+4),因为i%i的值为0,则该式为0((ii)/(2i)+4), 故为0,所以在workover中输出i的值为0接着在主函数中,输出i的值为2
故运行结果为
i=5
i=2
i=2
i=0
i=2
以上就是关于执行下列程序后,程序结果是什么全部的内容,包括:执行下列程序后,程序结果是什么、C语言分析下面程序的运行结果、以下程序的运行结果是_______等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)