【发布时间】:2014-01-15 22:08:06
【问题描述】:
此应用程序的目的是使用多指针创建一个 NxN 变量/用户定义数组
整个“数组”(比喻)被完全填满,
然后一个函数将所有数字相加,并在一个新的“数组”中找到存储在其中的每一行的总和,该数组正在被返回(我的意思是指向它的指针)
你不可能返回一个ENTIRE ARRAY,对吗?
我知道scanf() 是邪恶的(呵呵)如果这是问题,我会将其更改为fgets() 和atoi()!
几次有效输入后,它崩溃了!!!
PS 33 E:\ask1.c [警告] 赋值从指针中生成整数,无需强制转换
#include <stdio.h>
#include <stdlib.h>
int* linesum(int **ar);
main()
{
int n,i,j,*temp,SIZE;
printf("Input Array Dimensions NxN ");
scanf(" %d",&SIZE);
int **Table=(int**)malloc(SIZE*sizeof(int*));
for(i=0;i<SIZE;i++)
*(Table+i)=(int*)malloc(SIZE*sizeof(int));
for(i=0;i<SIZE;i++)
for(j=0;j<SIZE;j++){
printf("Input int of %d row %d column ",i,j);
scanf(" %d",*(Table+i*SIZE+j));
}
temp=linesum(Table,SIZE);
for(i=0;i<SIZE;i++)
printf("Sum of line %d is %d",i,*(temp+i));
return 0;
}
int* linesum(int **ar,int N)
{
int i,j,lsum=0;
int *new=malloc(N*sizeof(int));
for(i=0;i<N;i++){
for(j=0;j<N;i++)
lsum+=*(ar+i*N+j);
*(new+i)=lsum;
}
return (new);
}
【问题讨论】:
标签: c arrays pointers malloc scanf