|
#include<stdlib.h>
#include<string.h>
main()
{
double a=-1234.5;
double b=12233;///////////////////////////////////////1
char *ptr;
int i;
int decpt,sign;
gcvt(a,6,ptr);
printf("%d\n",strlen(ptr));
for(i=0;i<7;i++)
printf("num.%d value=%c\n",i+1,ptr);
gcvt(b,6,ptr);////////////////////////////////////////////2
printf("%s\n",ptr);/////////////////////////////////////////3
}
这个程序的功能是把数字转换字符串!
在编译 这段程序时 当我注释掉2和3 它程序会运行,结果也正确
当我同时注释掉1和2和3时 程序编译gcc通过
但是当我./a.out要它执行时 提示段错误!
我这里并不需要用到b 和gcvt(b,6,ptr); 和 printf("%s\n",ptr);
为什么就段错误呢 |
|