#include <stdio.h>
#include <string.h>
int main(){
printf("please enter windows command!");
char a[100];
fgets(a,100,stdin);
while(!strcmp(a,"quit"))
{
printf("you entered:%s\n",a);
fgets(a,100,stdin);
}
return 1;
}
这段代码在LINUX下无法循环,经高人指点改成了
#include <stdio.h>
#include <string.h>
#define BREAK_STR "quit"
int main(){
printf("please enter windows command!");
char a[100];
fgets(a,100,stdin);
while(strncmp(a,BREAK_STR,strlen(a)-1)!=0)
{
printf("you entered:%s\n",a);
memset(a,0,sizeof(a));
fgets(a,100,stdin);
}
return 1;
}
之后就可以了。这里面主要是加了个memset函数。作用是清空字符串的。感觉我写的代码在windows下应该不会出错,到Linux就出错了?改天在Windows下试试吧 。也研究一下到底是哪里错了。