少年神探狄仁杰神姬:小弟初学c 请问以下这个程序运行的结果怎么解释啊,十分迷惑

来源:百度文库 编辑:中科新闻网 时间:2024/05/09 12:41:36
main()
{int i=3;
printf("%d %d\n",i,i++);
}
不是象我预期的那样显示3 和4 为什么啊?

i++这个表达式的值是i的值3,所以你显示只能是3 3,如果要显示3 4 你必须保证后面2个表达式是3 4所以你应该这么写:
printf("%d %d\n",i,++i);
i++这个表达式的值是i的值3,所以你显示只能是3 3,如果要显示3 4 你必须保证后面2个表达式是3 4所以你应该这么写:
printf("%d %d\n",i,++i);
i++这个表达式的值是i的值3,所以你显示只能是3 3,如果要显示3 4 你必须保证后面2个表达式是3 4所以你应该这么写:
printf("%d %d\n",i,++i);
i++这个表达式的值是i的值3,所以你显示只能是3 3,如果要显示3 4 你必须保证后面2个表达式是3 4所以你应该这么写:
printf("%d %d\n",i,++i);
i++这个表达式的值是i的值3,所以你显示只能是3 3,如果要显示3 4 你必须保证后面2个表达式是3 4所以你应该这么写:
printf("%d %d\n",i,++i);

i++这个表达式的值是i的值3,所以你显示只能是3 3,如果要显示3 4 你必须保证后面2个表达式是3 4所以你应该这么写:
printf("%d %d\n",i,++i);

这样也是可以的
printf("%d %d\n",i++,i);

将i++改成++i就行了。