#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$
哪里出错了??
分割错误?
- 懒蜗牛Gentoo
- 论坛版主
- 帖子: 7353
- 注册时间: 2007-03-02 17:36
- 系统: Linux Mint
Re: 分割错误?
没有为string申请内存啊,string是个指向0x00地址的空指针,当然会错。
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
10.04新手入门——笨兔兔讲述自己的故事
- 懒蜗牛Gentoo
- 论坛版主
- 帖子: 7353
- 注册时间: 2007-03-02 17:36
- 系统: Linux Mint
Re: 分割错误?
你只是生命了一个char型的指针,没说他指向哪。应该
string=malloc([size]);
然后,记得free
string=malloc([size]);
然后,记得free
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
10.04新手入门——笨兔兔讲述自己的故事
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
Re: 分割错误?
通常译成段错误qkbeyond 写了:分割错误?Segmentation fault
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。