我正在學習期中考試,並且在理解概念時遇到了一些麻煩。這裏的問題:C:在printf語句中將char *傳遞給%s
什麼是以下幾行代碼的輸出:
char S1[50] = "jack", S2[50] = "jill", S3[50], *Sptr;
printf("%c$s\n", toupper(S1[0]), &S1[1]);
輸出是
Jack
我不明白,爲什麼它的打印「傑克」。 %s應該打印一個字符串,對吧?是& S1 [1]是一個字符串?我認爲這是S1 [1]的地址。情況並非如此嗎?
感謝您的幫助。
我相信你的意思是'%c%s \ n'。您的原始代碼中是否有這個錯字? – rlee827
'%s'的參數是一個指向字符串第一個字符的指針。 S1 [1]的地址就是這個地址。 –