首页 > 解决方案 > 如何用 C 解释这个程序的输出?

问题描述

我一直在解决这个问题:

#include<stdio.h>
int main()
{
    printf("%c", "abcdefgh"[4]);
    return 0;
}

这给出了 e 作为输出,但是我不明白如何打印一个名为“abcdefgh”的具有 4 个元素的数组。

简而言之,请告诉我这个程序是如何工作的。

标签: cprintf

解决方案


该字符串"abcdefgh"没有 4 个元素。它是一个有 9 个元素的数组(字符加上空终止符,方括号是数组下标运算符。

"abcdefgh"[4]获取索引 4 处的元素"abcdefgh"也是如此'e'


推荐阅读