【发布时间】:2013-10-08 17:13:42
【问题描述】:
我是 C 的新手,我已经阅读了我的 C 书籍的几章,现在我必须做一个作业,但我很困惑希望有人能帮助我。
我必须从用户(字符数组)输入中读取最大长度为 100 个字符的 2 个字符串,并将它们转换为大写字母,并在每个单词后用换行符 \n 打印出来。
到目前为止,我有这个:
int main() {
char chars[100];
int i = 0;
char str1;
char str2;
int j = 0;
scanf("\n %c", str1);
scanf("\n %c", str2);
while (str1[i] != '\0') {
chars[i] = str1[i];
toupper(chars[i]);
printf(chars[i]);
i++;
}
while (str2[j] != '\0') {
chars[j] = str2[j];
toupper(chars[j]);
printf(chars[j]);
j++;
}
return 0;
}
在接受用户的 2 个输入后,它说停止运行并说运行失败。
【问题讨论】:
-
str1和str2应该是数组 -
我试试...没有任何区别,因为它在输入后仍然停止
-
你的编译器没有给出任何警告,对吧?哦等等noez ...
-
@user1842140 提示:你想使用
fgets()。谷歌其文档。 远离scanf()。 -
没有 fgets() 不可能吗?不确定我是否应该使用它。
标签: c arrays input user-input