#include<stdio.h>
main()
{
char x;
scanf("%s\n",&x);
if(x>='A'&&x<='Z')
{
x=x+'a'-'A';
}
else
{
x=x;
}
printf("%s\n",x);
return 0;
}
你定义 x 为字符类型,可是你在scanf中指定的却是%s(字符串)。最后那个printf也是格式不匹配。
还要注意: scanf的格式匹配说明字符串中不要用\n结尾。 scanf("%c", &x); 这样就好。
else部分既然不更改x的值,那就完全不需要写else啊。
这样看来,你这个代码就是接受输入一个字母,然后将其改为小写。你问题中“只可以把一个大写字母...”是什么意思呢? 难道你想输入的是一个字符串??
另外,在C中最好把main函数写为 int main(void) {...}
你看看我上面的程序,
#include <stdio.h>
int main()
{
char ch;
printf("请输入一个大写字母:");
scanf("%c",&ch);
ch = ch + 32;
printf("大写字母转换小写字母后为:%c\n",ch);
}