【发布时间】:2021-12-31 15:47:19
【问题描述】:
我正在编写一个函数来将字符串中的每个小写字符大写。它从用户那里获取一个字符串,这是函数的输入。如果用户不输入空格,我的程序可以工作,但是当字符串中有空格时,函数结束。
#include <stdio.h>
char *uppercase(char *c) {
int i = 0;
while (c[i] != '\0') {
if (123 > c[i] && c[i] > 96)
c[i] = c[i] - 'a' + 'A';
i++;
}
return c;
}
int main() {
char input[100];
printf("Enter the phrase: ");
scanf("%s", input);
printf("%s", uppercase(input));
return 0;
}
例子:
输入:test test
输出:TEST
输入:Hello
输出:HELLO
输入:How are you
输出:HOW
我认为这与while 声明有关?感谢您的帮助。
【问题讨论】:
-
使用
fgets阅读带有空格的文本
标签: c scanf c-strings fgets capitalize