printf("%c\n", *(*(str2+3)+4));
這條語句的目的是打印 str2 數組中第四個字符串的第五個字符。
分析 str2 的內容:
str2[0] 是 "Taiwan"
str2[1] 是 "Germany"
str2[2] 是 "France"
str2[3] 是 "Swedn"
解析 *(str2+3):
str2+3 指向數組中的第四個元素,即字符串 "Swedn"。
*(str2+3) 解引用這個指針,得到字符串 "Swedn"。
解析 *(*(str2+3)+4):
*(str2+3) 得到 "Swedn"。
*(str2+3)+4 是指向字符串 "Swedn" 中第五個字符的指針(0-based 索引)。
*(*(str2+3)+4) 解引用這個指針,得到第五個字符 'n'。
因此,printf("%c\n", *(*(str2+3)+4)); 會打印字符 'n'。
其他相關問題
2. printf("%s\n", str2[2]);
這條語句的目的是打印 str2 數組中的第三個字符串。
str2[2] 是 "France"。
因此,printf("%s\n", str2[2]); 會打印字符串 "France"。
3. printf("%c\n", str2[1][2]);
這條語句的目的是打印 str2 數組中第二個字符串的第三個字符。
str2[1] 是 "Germany"。
str2[1][2] 是 'r'(0-based 索引)。
因此,printf("%c\n", str2[1][2]); 會打印字符 'r'。
4. printf("%s\n", *(str2+1));
這條語句的目的是打印 str2 數組中第二個字符串。
str2+1 指向數組中的第二個元素,即字符串 "Germany"。
*(str2+1) 解引用這個指針,得到字符串 "Germany"。
因此,printf("%s\n", *(str2+1)); 會打印字符串 "Germany"。