看看这个while和if语句。

来源:百度知道 编辑:UC知道 时间:2024/05/25 19:13:01
#include <stdio.h>
#include <string.h>
int mian (void)
{
char 字[10000+1];
char 缓冲区[100];
char 字末[] = "*\n";
const char space = ' ';
const char quote = '\'';
char 单词s[500][16];
int n单词[500];
char 单词[16];
int 单词len = 0;
int 单词算术 = 0;
printf ("输入任意长度的文本。");
printf ("\n输入一行刚刚结束的一个星号的输入:\n\n");
while(true)
{
if(!strcmp(fegts(buffer, 100 , stdin), endstr))
break;
if(strlen(字)+strlen(缓冲区)+1 > 10000)
{
printf ("最大容量为文字超出。终止程序。");
return 1;
}
strcat (字, 缓冲区);
}
for (int i = 0 ; i < strlen(字) ; i++)

。。。。。
}

while后的true为什么是无限循环?还有这个if(!strcmp(fegts(buffer, 100 , stdin), endstr))。。一开始就"!",怎么理解?

while(true)中的true表示进入while循环的条件为真,而且一直是真,所以是无限循环,需要用break在合适的地方结束循环
!表示取反,strcmp函数如果比较的2个字符串相等的话,会返回0,!0就表示真也就是表示如果2个字符串相等的话,就执行if(!strcmp..)后面的语句