新手求解!!!!!!!!!!!!!!
#include <stdio.h>void main()
{
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d,%d,%d",p,q,j,i);
}
我能想到的答案是
p=15
q=21
j=8
i=8
可是运行结果为什么等于
p=15
q=22
j=8
i=8
我发的关于这个的帖子
随便找的一个解释 我的天啊能不能再发帖之前先在论坛搜索下啊 !!!!!
这个问题 ........
我真心不想回答了 牡丹花下死做鬼 发表于 2014-3-8 14:41 static/image/common/back.gif
我的天啊能不能再发帖之前先在论坛搜索下啊 !!!!!
这个问题 ........
我真心不想回答了
不会吧!!!!!!!!!,搜那个关键字啊
看懂这个就知道为什么q是22了
#include <stdio.h>
void main()
{
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j); //++优先级比+高所以相当于++j,++j, 这时j=7,q=j+j=14;
//同理3个加号的话先算前两个,再++j, j=8;q=14+8 = 22!
printf("%d,%d,%d,%d",p,q,j,i);
} 随便问一下你那个vip至尊是干什么的 买话费送的!!!!
页:
[1]