|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
int main()
{
int a[10]={3,7,9,11,0,6,7,5,4,2,};
int b[10]={0};
int *p;
int i=9;
for(i=9;i>=0;i--){
p=a[i];
printf("%d ",p);
p++;
}
return 0;
}
[Warning] assignment makes pointer from integer without a cast
大神这报错 是哪里错啦
这个报错的原因是你在定义变量a和b的时候,使用了大括号初始化,但是大括号的初始化只适用于数组,而不适用于普通的变量。
另外,你在循环中将指针p赋值为a,这个赋值操作也是有问题的,因为a是一个整型数组,不能直接赋值给一个指针。
修复这个问题,你可以这样修改代码:
#include <stdio.h>
int main()
{
int a[]={3,7,9,11,0,6,7,5,4,2};
int b[1]={0};
int *p;
int i;
p=a;
for(i=9;i>=0;i--){
printf("%d ",*p);
p++;
}
return 0;
}
修改后的代码中,变量a是一个整型数组,b是一个包含一个元素的整型数组。变量p是一个指针,用来指向a中的元素。在循环中,我们通过*p来输出p指针指向的元素。
希望能够帮到你!如果还有其他问题,请随时提问。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
|
|