#include <stdio.h>

int main()
{

    printf(5 + "Good Morning\n");

    return 0;
}

代码显示早晨。该代码应该打印“早晨”还是应该显示未定义的行为?

最佳答案

它应该显示“Morning”。

您正在使用指针算术-尽管您似乎不知道它! "Good Morning\n"是指向常量字符串的char *指针。然后,将5加到该指针,该指针前进5个字符。因此,指针现在指向“早晨”的“M”。

10-02 02:18