自学者Ly 发表于 2018-10-13 14:04:14

第一次发求问贴@-@

【菜鸟渣渣来求问】【第一次发帖第一次问】【跪求大神】
程序:

int i=5,q;
q=(++j)+(++j)+(++j);
printf("%d,%d",q,i)
运行结果是22,8

求解释为什么是22和8呀{:9_241:}

750231319 发表于 2018-10-13 16:11:00

那个i应该是j吧~,,先算括号里面的j,++j是先加后使用,经过三次的++j,j就变成8,q就等于 6+7+8=21,22的话我不知道怎么解释,理论上是21的~

claws0n 发表于 2018-10-14 22:30:33

理论上是 21,但是编译器把它们混在一起了,变成 8+7+7
结论是,以后不要做这种事情,没有意义
页: [1]
查看完整版本: 第一次发求问贴@-@