
在C语言中如果i=5则p=(++i)+(++i)+(++i)等于多少
main(){inti=5,p;p=(++i)+(++i)+(++i);printf(%d,%d",p,i);getch();/*在WIN-TC中运行*/}上机运行正确答...
main()
{
int i=5,p;
p=(++i)+(++i)+(++i);
printf(%d,%d",p,i);
getch(); /*在WIN-TC中运行*/
}
上机运行
正确答案为24,8 展开
{
int i=5,p;
p=(++i)+(++i)+(++i);
printf(%d,%d",p,i);
getch(); /*在WIN-TC中运行*/
}
上机运行
正确答案为24,8 展开
展开全部
++i是先把i+1赋值给i,然后作为表达式的值;
i++是先把i作为表达式的值然后再给i+1运算;
所以结果应该是p=21,i=8
i++是先把i作为表达式的值然后再给i+1运算;
所以结果应该是p=21,i=8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p=8+8+8=24
i=8
先算括号里面的,再算外面的。i自增3次后再算p=i+i+i
i=8
先算括号里面的,再算外面的。i自增3次后再算p=i+i+i
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种问题没有标准答案,不同的编译器会有不同的实现(比如在我的机器上运行结果为22,8),自己写代码的时候避免这么写就行了,没有实际意义。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
确实会因为编译器的不同结果不同,许多国外经典C语言书都曾提到这个问题,编译器使用的文法不同,结果就会不同
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p=6+7+8=21
i=1
i=1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询