只可以把一個大寫字母換為小寫、
#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;
}
#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;
}
舉報
2015-10-23
你定義 x 為字符類型,可是你在scanf中指定的卻是%s(字符串)。最后那個printf也是格式不匹配。
還要注意: scanf的格式匹配說明字符串中不要用\n結尾。 scanf("%c", &x); 這樣就好。
else部分既然不更改x的值,那就完全不需要寫else啊。
這樣看來,你這個代碼就是接受輸入一個字母,然后將其改為小寫。你問題中“只可以把一個大寫字母...”是什么意思呢? 難道你想輸入的是一個字符串??
另外,在C中最好把main函數(shù)寫為 int main(void) {...}
2015-10-23
你看看我上面的程序,
2015-10-23
#include <stdio.h>
int main()
{
char ch;
printf("請輸入一個大寫字母:");
scanf("%c",&ch);
ch = ch + 32;
printf("大寫字母轉換小寫字母后為:%c\n",ch);
}