我正在寻找一种方法,只将大写字母转换为用户输入字符串的小写字母.问题是我的条件被忽略了,每个字符都被改变了,而不仅仅是大写字母.为了记录,我还尝试使用atoi将字符转换为int,但遇到了与上面相同的问题.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char letter[100];
scanf("%s", letter);
int i;
for(i=0; letter[i]!='\0'; i++){
if((letter[i]>='A')||(letter[i]<='Z')){
letter[i]=letter[i]+32;
}
}
printf("%s", letter);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我建议使用的库函数,比如islower(),isupper(),toupper()和tolower()这一点.在你的情况下,你可以这样做:
for(i = 0; i < strlen(letter); i++)
{
letter[i] = tolower(letter[i]);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |