猿问

C++getchar()函数彻底解析?

#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char c;
while((c=getchar())!='\n'&&c>=65&&c<=90||c>=97&&c<=122||c==32)
{
c+=4;
if(c>90&&c<95)c-=26;
else if(c>122&&c<127)c-=26;
putchar(c);
}
cout<<endl;
return 0;
}
改成:
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char c;
while((c=getchar())!='\n'&&c>=65&&c<=90||c>=97&&c<=122||c==32)
{
c+=4;
if(c>90&&c<95){c-=26;putchar(c);}
else if(c>122&&c<127){c-=26;putchar(c);}

}
cout<<endl;
return 0;


为什么只输出第一个字符 效果差那么多

繁华开满天机
浏览 263回答 3
3回答

qq_花开花谢_0

额,第二个程序c+=4;if(c>90&&c<95){c-=26;putchar(c);}else if(c>122&&c<127){c-=26;putchar(c);}这一段,,是不是落了点东西。。应该是if(c>90&&c<95){c-=26;putchar(c);}else if(c>122&&c<127){c-=26;putchar(c);}else putchar(c);这样才和第一个程序一样嘛。

长风秋雁

c+=4;if(c>90&&c<95){c-=26;putchar(c);}else if(c>122&&c<127){c-=26;putchar(c);}else{putchar(c);}这样就与第一个完全等效了

有只小跳蛙

逻辑很不同啊XD.第一个只要符合while的条件就输出字符。第二个只有符合if和else if的条件才输出。
随时随地看视频慕课网APP
我要回答