首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-04-16 
为什么return 0后程序没有结束!!调用栈问题???C/C++ code#includestdio.h#includestdlib.hint main(){

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

热点排行