为什么不管怎样这个程序都只会输出“对不起,内存不够,无法继续读入”这个我不想要的结果呢?
#include <stdio.h>#include <string.h>
#include <stdbool.h>
#define TEXTLEN 10000
#define BUFFERSIZE 100
int main(void)
{
char text[TEXTLEN+1];
char buffer[BUFFERSIZE];
char endstr[]="*\n";
printf("这个程序能读出你输入文本中每个单词的出现次数\n");
printf("请输入文本:\n\n");
while(true)
{
if(!strcmp(fgets(buffer,BUFFERSIZE,stdin),endstr))
break;
if(strlen(text)+strlen(buffer)+1>TEXTLEN) 能不能解释一下strlen(text)输出的值,为什么会输出这样的值?谢谢.
{
printf("\n对不起,内存不够,无法继续读入\n");
return 1;
}
strcat(text,buffer);
}
return 0;
}