首页 养生问答 疾病百科 养生资讯 女性养生 男性养生

...void main() { int a=2; printf("%d %d\n",a,a++); }

发布网友 发布时间:2024-10-06 01:06

我来回答

5个回答

热心网友 时间:2024-10-06 01:14

答案是0
a=b==c这个表达式是从右向左运算的,也就相当于a=(b==c)
而b==c这个判断表达式显然是不成立的,所以有一个返回值为0。
即,a=0;
printf("%d\n",a=b==c);
就相当于
a=b==c;
printf("%d\n",a);
明白了么?
至于2楼说的优先级的问题,显然是错误的,你可以把a打印出来,结果也为0,按他说的就为2了

热心网友 时间:2024-10-06 01:08

a++的意思是先参与运算,再自加1,++a的就是你说的那种情况

热心网友 时间:2024-10-06 01:13

1 在VC中是:
3 2
2 这种使用在不同的系统中结果不一样的,请不要这样使用。

热心网友 时间:2024-10-06 01:15

#include<stdio.h>
void main()
{
int a=2;
printf("%d %d\n",a,a++);
}
因为a++是先用a的值,然后再执行++操作

热心网友 时间:2024-10-06 01:15

a++输出的是表达式a++的值,而不是a本身的值~~~a++是先取a自身的值然后再自加

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com