litengyue 发表于 2023-9-14 20:27:40

C语言问题

代码为什么会出错呀

#include <stdio.h>

int main()
{
        int temp = {1, 2, 3, 4, 5};
        int (*p2) = &temp;
        int i;
       
        for (i = 0; i < 5; i++)
        {
                printf("%d\n", *(*p2 + i));
        }
       
        return 0;
}

isdkz 发表于 2023-9-14 20:27:47

这段代码会出错是因为在定义temp时使用了花括号,但是int类型只能接受单个值的初始化,不能用花括号来初始化。正确的写法应该是将花括号改成方括号,如下所示:

int temp = {1, 2, 3, 4, 5};


这样定义temp后,代码就能正确运行了。
页: [1]
查看完整版本: C语言问题