char a;
a = getchar();
while(a!='\n')
{
if((a>='a'&&a<='z') || (a>='A' && a<='Z'))
{
if((a>='w' && a<='z') || (a>='W' && a<='Z'))
{
a -= 22;
}
else
{
a += 4;
}
printf("%c",a);
a = getchar();
}
}
return 0;
}
为什么用把第一个getchar改为scanf就会乱码 while中的getchar起到了什么作用 为什么删掉他也是乱码呢 求解 谢谢各位!
getchar()可以处理一些换行回车、空格等特殊字符
不会乱码吧 就是读取一个字符的
除非你的换行或者空格之类的加4了 所以输出就会乱码了吧
参考:https://baijiahao.baidu.com/s?id=1707529359012091190
他这里的意思是输入单个字符,用着单个字符去判断!
scanf输入时,输入结束得点击回车或者空格,而回车和空格就会有缓存,下次scanf输入的就变成了回车和空格
getchar()输入就不会有缓存问题