#include<stdio.h>
#include<conio.h>
void change(int *);
int main()
{
int a[5] = {1,2,3,4,5};
int i;
clrscr();
change(a);
for(i=4;i>=0;i--)
{
printf("%d\n",a[i]);
}
getch();
return 0;
}
void change(int *b)
{
int i;
for(i=0;i<=4;i++)
{
b=*b+1; //showing nonportable pointer exception
b++;
}
}
输出不符合预期,没有错误和1个警告.... 预期产出:65432 电流输出:54321
答案 0 :(得分:0)
b
的类型为int *
,而*b + 1
的类型为int
。您正在为指针类型指定int
类型。改变
b=*b+1;
到
*b = *b+1;