我的程序会正常运行并显示信息但是只要我按任意键继续我的程序已经停止工作屏幕,我不知道为什么,这是我的代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
char A[50][30];
printf("Hello \n");
FILE *file;
file = fopen("Strings.dat","r");
printf("The contents of the array are :\n");
int ch = 0;
while(fgets(A[ch], 30, file))
{
int length = strlen(A[ch]);
/*
if((A[ch][length-1]) == '\n')
{
A[ch][length-1] = NULL;
}
*/
ch++;
}
fclose(file);
printf("%s",A[0]);
system("PAUSE");
}
有谁可以解释我做错了什么?
如果你想知道注释代码被注释掉了,因为它给了我一个警告&#34; [警告]赋值从指针生成整数而没有强制转换[默认启用]&#34;我认为把它拿出来可以解决我的问题
答案 0 :(得分:1)
尝试在暂停语句后添加exit(0);
。这将告诉您的程序完全退出。 0只是一个返回值。您可以返回任何您想要的内容,但0是“无错误”或类似内容的标准。
编辑:第二个想法,只需在最后添加return 0;
。您甚至可能不需要exit(0)语句(这取决于您运行程序的方式)。
第二次编辑:exit()语句只是强制关闭你的应用程序。仍存在潜在问题。给我一点,我会尽力为你追踪它。
希望这有帮助!