【发布时间】:2017-11-28 11:14:11
【问题描述】:
我要编码的是,如果我输入camelcase,它应该只打印出camelcase,但如果包含任何大写字母,例如,如果我输入camelCase,它应该打印出@987654325 @。
下面是我正在处理的问题,但问题是,如果我输入 camelCase,它会打印出 camel_ase。
谁能告诉我原因以及如何解决?
#include <stdio.h>
#include <ctype.h>
int main() {
char ch;
char input[100];
int i = 0;
while ((ch = getchar()) != EOF) {
input[i] = ch;
if (isupper(input[i])) {
input[i] = '_';
//input[i+1] = tolower(ch);
} else {
input[i] = ch;
}
printf("%c", input[i]);
i++;
}
}
【问题讨论】:
-
请注意,
getchar返回一个int。这实际上对您检查EOF很重要。 -
你意思是
camelCase(不是carmel)你把它和snake_case混淆了。
标签: c computer-science