读书人

为什么return 0后程序没有结束!调用栈

发布时间: 2012-04-16 16:20:04 作者: rapoo

为什么return 0后程序没有结束!!调用栈问题???

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 函数进行初始化

读书人网 >C语言

热点推荐