这段代码有错误吗?如果是这样,在哪里
Is there an error in this code? If so, where
我有作业待处理,因为我无法理解这段代码。这段代码有没有错误?如果有,能否告知一下。
#include <stdio.h>
void main()
{
int arr[5] = {10, 20, 30, 40, 50};
int *ptr1 = arr;
int *ptr2 = &ptr1;
printf('%d", **ptr2);
}
根据 C Standard 没有参数的函数 main 应声明为
int main( void )
在此声明中
int *ptr2 = &ptr1;
声明的变量和初始化器有不同的类型,并且没有从一个到另一个的隐式转换。
你必须写
int **ptr2 = &ptr1;
并且 printf 调用的参数中有错字
printf('%d", **ptr2);
^^
必须
printf("%d", **ptr2);
我有作业待处理,因为我无法理解这段代码。这段代码有没有错误?如果有,能否告知一下。
#include <stdio.h>
void main()
{
int arr[5] = {10, 20, 30, 40, 50};
int *ptr1 = arr;
int *ptr2 = &ptr1;
printf('%d", **ptr2);
}
根据 C Standard 没有参数的函数 main 应声明为
int main( void )
在此声明中
int *ptr2 = &ptr1;
声明的变量和初始化器有不同的类型,并且没有从一个到另一个的隐式转换。
你必须写
int **ptr2 = &ptr1;
并且 printf 调用的参数中有错字
printf('%d", **ptr2);
^^
必须
printf("%d", **ptr2);