【发布时间】:2015-03-15 11:09:06
【问题描述】:
我写了一个程序
#include<stdio.h>
int *sqrt(int a[10]);
int main()
{
int a[10],i,*b;
printf("enter your integers \n");
for(i=0;i<10;i++)
scanf("%d",a+i);
b=sqrt(a[10]);
printf("the modulus of this values are\n");
printf("%d",*(b));
return 0;
}
int *sqrt(int x[10])// function
{
int *c,i;
for(i=0;i<10;i++)
{
x[i]=x[i]*x[i];
}
c=x;
return p;
}
在我输入值后,代码给我一个分段错误。我在这里犯了什么错误?
【问题讨论】:
-
请打开编译器的警告,问问自己:我在哪里给
p赋值? -
代码中
p的意义是什么? -
你的代码很乱。您应该首先学习如何使用数组。这可能是个问题。
-
平方根?模数?电源2?你到底在追求什么? :-S
-
同样显示的代码也不会编译。
return p;是否应该读作`return c;`?
标签: c pointers segmentation-fault