C语言,请问大神,最后一句是如何运行的,假如输入的值为8
答案:4 悬赏:80 手机版
解决时间 2021-04-15 22:00
- 提问者网友:沉默菋噵
- 2021-04-15 11:09
C语言,请问大神,最后一句是如何运行的,假如输入的值为8
最佳答案
- 五星知识达人网友:愁杀梦里人
- 2021-04-15 11:29
最后一句是先输出,再a-1。例如:输入10,那么就是执行else后面的语句,先输出10,然后a--,a值变成了9追问再好好想想,是11a--是先赋值后运算追答嗯嗯,我知道了,当输入10时,先判断a++<9是否为真,为假执行else,但是这是a要加加,所以现在a为11,然后后面就是我上面说的了。虽然if判断不成立,但a却是会加加的追问a--先赋值赋给谁了?你的结果到底是多少追答a什么时候负值过,只进行过加加,减减而已。――在前,先减1再运算;――在后,先运算再减1。输入10,输出结果为11,是吧。然后a再减1,这个在计算机内部执行,你看不到如果你想验证的话,可以在else输出语句后面,在加一个printf("%d",a);看看结果多少,结果为11结果为10追问能不能告诉我“先运算”指的什么,是不是“先把a的值输出”追答嗯嗯,这个运算很广,本题是先把值输出追问谢谢谢谢谢谢谢谢谢谢if(--a)b++;如何理解有空回答谢谢追答减减在前,先减1再运算。假如给负值1,先减减,if语句中的条件就变成了0,后面的b++就不需要执行了。给a赋值1追问如果给a赋值3呢?追答给a赋值3,先减减,变成2。为真,执行b++追问什么时候为真,什么时候为假追答结果是1为真,结果0为假。什么时候为真假的话要看a的初始值追问可是为2了怎么也是真?追答我说错了,c语言为非0的数都是真,而在计算机内部为真就是1,因为计算机采用二进制,只有0和1。我差点把这两个概念搞混了
全部回答
- 1楼网友:掌灯师
- 2021-04-15 13:43
输出就为7追问错了
- 2楼网友:山君与见山
- 2021-04-15 13:13
输出就是8追问大哥错了
- 3楼网友:不甚了了
- 2021-04-15 11:48
#include
void main()
{
int a; //定义一个变量a
scanf("%d", &a); //输入a的值
if(a++<9) //如果a自加一(即a+1)小于九
printf("%d\n",a); //输出a
else //否则
printf("%d\n",a--); //输出a自减一(即a-1)
}
若输入值为8,则a++等于9,不小于九,所以执行else,即输出a--,所以输出值为7追问你在电脑上试试追答上面a++过,所以在执行else之前a就是9了,但是后面a--是先赋值再减一,所以输出9
void main()
{
int a; //定义一个变量a
scanf("%d", &a); //输入a的值
if(a++<9) //如果a自加一(即a+1)小于九
printf("%d\n",a); //输出a
else //否则
printf("%d\n",a--); //输出a自减一(即a-1)
}
若输入值为8,则a++等于9,不小于九,所以执行else,即输出a--,所以输出值为7追问你在电脑上试试追答上面a++过,所以在执行else之前a就是9了,但是后面a--是先赋值再减一,所以输出9
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯