在我學習C時(我對它很陌生),我在玩指針。在這裏你可以看到我的代碼:c:在函數中使用指針作爲輸入時,通過使用*來增加指針的值++ ++不起作用
#include <stdio.h>
void change(int *i)
{
*i += 1;
}
int main()
{
int num = 3;
printf("%d\n", num);
change(&num);
printf("%d\n", num);
return 0;
}
我的目標是取代不重新分配它像這樣增加NUM值:
num = change(num);
這就是爲什麼我用的是&
傳球num
的存儲位置:所以它可以用作指針。在此版本之前,代碼中的所有內容都是相同的。唯一不同的是,我說*i++;
而不是說*i += 1;
現在我的問題是爲什麼我不能說*i++
?
運算符優先級:後綴增量的優先級高於一元間接優先級,優先級高於複合賦值。 – EOF
正因爲德國人,對於英語不好的藉口! – Olaf
@Olaf Ich bin Deutscher,仍然有英文問題。 – Michi