#include<stdio.h>
#include<string.h>
int main()
{
char m[100];
int t,i;
while(gets(m)!=EOF){
t=strlen(m);
for(i=0;i<t;i++){
if(m[i]>='A'&&m[i]<='V'){
printf("%c\n",m[i]+4);
}
else if(m[i]>='W'&&m[i]<='Z'){
printf("%c\n",m[i]-22);
}
else if(m[i]>='a'&&m[i]<='v'){
printf("%c\n",m[i]+4);
}
else if(m[i]>='w'&&m[i]<='z'){
printf("%c\n",m[i]-22);
}
else{
printf("%c\n",m[i]);
}
}
}
return 0;
}
[Warning] comparison between pointer and integer [enabled by default]
这合理吗?求指出错误
我试着把你代码里的while(gets(m)!=EOF)改成了while(gets(m)!=NULL),发现能够正常运行,截图如下
你可以试试,怀疑就是你用错了EOF,这玩意好像是用来读取文件的