分页: 1 / 1

分割错误?

发表于 : 2009-11-06 10:29
小锐同学
#include <stdio.h>
int main(void)
{
char *string;
int length =0;
char *x;
printf("Input:");
scanf("%s",string);
x=string;
while(*string++ != '\0');
length += 1;
printf("Median is:%d/n",length);
printf("Every number is:");
while(*x++ != '\0');
printf("%d",*x);
printf("/nReverse order is:");
int i;
for(i=0 ; i < length ; i++)
printf("%d",*string--);
return 0;
}


编译后运行却提示:
glorylucifer@HelloWorld:~/C$ ./ReverseOrder.out
Input:123
Segmentation fault
glorylucifer@HelloWorld:~/C$

哪里出错了??

Re: 分割错误?

发表于 : 2009-11-06 10:42
懒蜗牛Gentoo
没有为string申请内存啊,string是个指向0x00地址的空指针,当然会错。

Re: 分割错误?

发表于 : 2009-11-06 12:31
小锐同学
它应该是同时声明了string和指向string的指针吧。

Re: 分割错误?

发表于 : 2009-11-06 12:36
懒蜗牛Gentoo
你只是生命了一个char型的指针,没说他指向哪。应该
string=malloc([size]);
然后,记得free

Re: 分割错误?

发表于 : 2009-11-06 20:15
BigSnake.NET
qkbeyond 写了:
Segmentation fault
分割错误? :em20 :em20
通常译成段错误