我剛開始學習C和我所遇到下列問題:數組:同一行代碼打印不同的答案?
#include <stdio.h>
#define T 1
int G;
int main(void)
{
int arr[5] = {7,8,9,10,11};
int a;
printf("%d\n", G);
printf("%d\n", arr[T]);
printf("%d\n", arr[G]);
a = arr[T]*arr[G];
printf("%d\n",a);
printf("%c", arr[T]*arr[G]); //why is this answer printed differently from a?
return 0;
}
欣賞你的幫助!
你知道'%d'和'%c'之間的區別嗎? –
如果您使用%c,c將打印相應的ASCII碼作爲整數值。所以在你的情況下它返回56的ASCII值(arr [1] * arr [0]即7 * 8)。 –
爲什麼'G'沒有任何價值?這是*未定義的行爲*。 – usr2564301