#include
using namespace std;
int main()
{
char a[2];
for (int i = 0; i < 2; i++)
{
cin >> a[i];
}
for (int i = 0; i < 2; i++)
{
if (a[i] >= 65 && a[i] <= 90)
{
a[i] += 32;
}
if (a[i] >= 97 && a[i] <= 122)
{
a[i] -= 32;
}
}
for (int i = 0; i < 2; i++)
{
cout << a[i] << " ";
}
return 0;
}
第一个if语句已经将大写转为小写的ascii了,
由于第二个不是else if判断,会继续执行if判断a[i]的值,符合小写的ascii,所有又-32变会大写了
就拿A来说,a[i]为65,第一个判断成功,a[i]+32的值变97【a】。
由于不是else if,会继续执行if判断,符合,a[i]-32=65,又变成65大写A的ascii了。
对你有帮助能点个采纳吗,谢谢~