我正在创建一个程序,在这个程序中,对于for
循环的每次迭代,都提示我输入input。然而,我只在循环的第一次迭代时得到提示,而不是在任何后续迭代中。
代码如下:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void get_letters(char *letters, int number);
int main() {
char letters[10];
int number;
memset(letters, '\0', 10);
scanf("%d", &number);
get_letters(letters, number);
printf("%s\n", letters);
return 0;
}
void get_letters(char *letters, int number)
{
for (int i = 0; i < number; i++) {
printf("bruh\n");
scanf(" %c", letters[i]);
}
}
字符串
这是我运行程序时的输出:如图所示,程序在第一次迭代后退出,而不调用后续提示。
的数据
1条答案
按热度按时间az31mfrm1#
你正在传递第i个字母给scanf,而你应该传递它的地址
字符串