|  | 
 
| 
#include<stdio.h>
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  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官方接口),如未能正确解答您的问题,请继续追问。
 | 
 |