为什么return 0后程序没有结束!调用栈有关问题?
为什么return 0后程序没有结束!!调用栈问题???
为什么会这样 搞不懂啊!!
调用栈显示一大堆,是哪里的问题啊 !!
------解决方案--------------------
char *out; 没有申请空间是野指针,最好利用Malloc 函数进行初始化
- C/C++ code
#include<stdio.h>
#include<stdlib.h>
int main()
{
char *ch="nii.txt";
FILE * fi=fopen(ch,"w");
if(fi==NULL)
return -1;
fputs("12345nihao67890qwertyu",fi);
int aa=fputc('X',fi);
fclose(fi);
putchar(aa);
fi=fopen(ch,"r");
if(fi==NULL)
return -1;
printf("%c\n",fgetc(fi));
printf("%c\n",getc(fi));
char * out;
fscanf(fi,"%s",out);
char cc;
while(sscanf(out,"%c",&cc)!=EOF)
{
printf("%c\n",cc);
out++;
}
fclose(fi);
fi=fopen(ch,"r");//[color=#FF0000]跳到了这里[/color] fscanf(fi,"%s",out);
printf("%s\n",out);
fclose(fi);
return 0; [color=#FF0000]//调试发现运行到这里后有跳到上面的标注出[/color]}
为什么会这样 搞不懂啊!!
调用栈显示一大堆,是哪里的问题啊 !!
------解决方案--------------------
char *out; 没有申请空间是野指针,最好利用Malloc 函数进行初始化