+ -
当前位置:首页 → 问答吧 → 就调用了个简单的gcvt()函数,可为什么不出结果呢,说是段错误

就调用了个简单的gcvt()函数,可为什么不出结果呢,说是段错误

时间:2010-08-18

来源:互联网

版本1: 只是提示断错误,没任何相应的输出
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int main()
  4. {
  5.     char *pa = NULL;
  6.     char *pb = NULL;
  7.     //pa = pb = 0;
  8.     double a = 123.45;
  9.     double b = -1234.567;
  10.     gcvt(a, 5, pa);
  11.     printf("%s\n", pa);
  12.     pb = gcvt(b, 5, pa);
  13.     printf("%s\t%s\n", pa, pb);

  14.     return 0;
  15. }
复制代码
版本2:能正确输出了,但仍然有段错误
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int main()
  4. {
  5.     char *pa, *pb;
  6.     double a = 123.45;
  7.     double b = -1234.567;
  8.     gcvt(a, 5, pa);
  9.     printf("%s\n", pa);
  10.     pb = gcvt(b, 5, pa);
  11.     printf("%s\t%s\n", pa, pb);

  12.     return 0;
  13. }
复制代码

作者: bw_0927   发布时间: 2010-08-18

得为最后一个参数pa准备空间

作者: hellioncu   发布时间: 2010-08-18