rya*_*ank -8 c printf increment
我不确定在printf语句中增加变量是否将有价值的东西保存为变量。
int x = 0;
printf("x=%d\n", ++x);
printf("x=%d\n", x);
Run Code Online (Sandbox Code Playgroud)
输出是
x=1
x=0
Run Code Online (Sandbox Code Playgroud)
要么
x=1
x=1
Run Code Online (Sandbox Code Playgroud)
我从未学习过C的基础知识,想知道它如何与C ++匹配。
我确实了解pre / post的增量,但是我担心如果在函数范围内对其进行增量操作,则在第一个printf()中执行++ x不会保存。
输出将为1。
您的表情++x将是
x = x+1;
Run Code Online (Sandbox Code Playgroud)
在两个printf()你都1
所以x的值在这里用pre-increment运算符修改,printf()在第二行中打印出x的新值,即1
printf()只是打印x它的值不会修改您的变量
注意pre-increment和post-increment之间的区别。
使用post-increment时,您将进入0第一个printf(),因为的值x是由printf()'s %d和提取的,后来又x得到了增量,导致x第二个prinf()的值为1