-6
我在下面的代碼在linux終端鍵入C語言基礎
#include <stdio.h>
int main(void)
{
int a;
a=1;
printf("%d\n",a++);
}
現在的輸出被示爲1,而不是爲什麼說它使得我'遞增 使用的值++運算符,但仍然存儲在a中的值不會遞增。請幫助。
我在下面的代碼在linux終端鍵入C語言基礎
#include <stdio.h>
int main(void)
{
int a;
a=1;
printf("%d\n",a++);
}
現在的輸出被示爲1,而不是爲什麼說它使得我'遞增 使用的值++運算符,但仍然存儲在a中的值不會遞增。請幫助。
a ++是後增量。所以它首先分配它使用的地方的值,然後它增加。
執行以下兩個示例。使用後
int main(void)
{
int a, c;
a = 1;
c = a++; // assigns the value 1 to c and increments the value of a
printf("a: %d and c: %d\n",a,c);
}
int main(void)
{
int a, c;
a = 1;
c = ++a; // increments the value of a and then assigns it to c
printf("a: %d and c: %d\n",a,c);
}
在C,後綴運營商++
增量變量的值:你應該得到一個明確的想法前,後增量之間。所以你的語句相當於
printf("%d\n",a);
a += 1;
您預期的行爲可以通過使用前綴++
來實現:
printf("%d\n", ++a);
這相當於:
a += 1;
printf("%d\n", a);
請谷歌預增量之間的差額和後期增量。幾乎所有的C書籍和教程都應該涵蓋這些內容。 –
「Linux終端」不會執行C代碼(任何shell都應該是這樣)。 – Olaf
Google down?在這裏發佈問題而不是搜索自己真的更容易? – Olaf