char *str2[4] = {"Taiwan", "Germany", "France", "Swedn"};
問題:printf("%c\n", *(str2[1]+3));
這條語句的目的是打印 str2 數組中第二個字符串的第四個字符。
分析 str2 的內容:
str2[0] 是 "Taiwan"
str2[1] 是 "Germany"
str2[2] 是 "France"
str2[3] 是 "Swedn"
解析 *(str2[1]+3):
str2[1] 是指向字符串 "Germany" 的指針。
str2[1]+3 是指向字符串 "Germany" 中第四個字符的指針(0-based 索引)。
*(str2[1]+3) 解引用這個指針,得到第四個字符 'm'。
因此,printf("%c\n", *(str2[1]+3)); 會打印字符 'm'。
總結:這條語句會打印出 str2[1] 即 "Germany" 的第四個字符 'm'。