#include<stdlib.h>
#include<stdio.h>
float re();
void internal();
int main(){
char * p;
gcvt(re(),5,p);
printf("%s\n",p);
// internal();
return 0;
}
float re(){
return 2.11;
}
void internal(){
char * p;
gcvt(re(),5,p);
printf("%s\n",p);
}
以上是代码,执行正常,把注释去掉执行报错说段多误,为什么呢?
还有 char * p; gcvt(5.01,5,p);这样调用也不对吧,应该先给p分配存储空间,但是执行没问题,不知道为啥?