main() { char *str[]={"ab","cd","ef","gh","ij","kl"}; char *t; t=(str+4)[-1]; printf("%s",t); }则显示"gh"
时间: 2023-07-17 16:00:00 浏览: 120
char str[] 与 char *str的区别详细解析
这段代码的输出结果为"gh"。让我解释一下代码的执行过程:
首先,我们声明了一个字符串指针数组 `str`,其中包含了6个字符串常量。
然后,我们声明了一个指向字符的指针变量 `t`。
接下来,我们对 `t` 进行赋值操作,`t=(str+4)[-1]`。这里 `(str+4)` 表示将指针 `str` 向后移动4个位置,即指向了第5个元素 "ij" 的地址。然后,`[-1]` 表示将指针向前移动一个位置,即指向了第4个元素 "gh" 的地址。所以,`t` 指向了字符串 "gh" 的首字符地址。
最后,我们使用 `printf` 函数打印出字符串 `t` 的内容。由于 `t` 指向字符串 "gh" 的首字符地址,所以会打印出 "gh"。
因此,代码的输出结果为"gh"。
阅读全文