kykuso 2018-11-14 14:01 采纳率: 0%
浏览 16195

【二维数组与指针】error: invalid type argument of unary '*' (have 'int')出现的原因及解决方法

#include
#include

void change();

int main()
{
printf("ÐÕÃû£º%s ѧºÅ£º%s\n","Ñî˼ºã","18090033026");
int a[3][3];
int i,j;
int * p;
p=* a;
printf("Please enter a 3x3 array:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)scanf("%d",p++);
}
p=* a;
change(p,3,3);
printf("After changing:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)printf("%d ",* (p++));
printf("\n");
}
return 0;
}

void change(int (* x)[3],int y,int z)
{
int i,j;
int m[3][3];
int * n;
n=*m;
for(i=0;i<y;i++)
for(j=0;j<z;j++)*(*(n+i)+j)=*(*(x+i)+j);
for(i=0;i<y;i++)
for(j=0;j<z;j++)*(*(x+i)+j)=*(*(n+j)+i);
}
图片说明

  • 写回答

2条回答

  • fenghua2010nb 2018-11-15 05:55
    关注

    void change(int (*x)[3],int y,int z)
    {
    int i,j;
    int n[3];
    int k;
    for(i =0;i<y;i++)
    {
    for(j =0;j<z;j++)
    {
    *(
    (n+i)+j) = ((x+i)+j);
    }
    }

    for(i =0;i<y;i++)
    {
    for(j =0;j<z;j++)
    {
    ((x+i)+j) = ((n+j)+i);
    }
    }
    }

    你的 *n 有问题,改为 (*n)[3],也不用再定义一个m[3][3]

    评论

报告相同问题?

悬赏问题

  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 arduino控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题