【发布时间】:2013-02-08 03:29:34
【问题描述】:
我提示用户输入数组的长度,用这个输入初始化一个 char[] 数组,然后提示用户输入一条消息以输入 char[] 数组。
我正在使用getchar() 阅读用户消息的第一个字符。
但是,getchar() 在读取任何用户输入之前正在读取换行符 '\n'。似乎从前面提示用户的printf 语句中得到'\n'...
以下是相关代码:
#include <stdio.h>
int main(void) {
int len = 0,
originalLen = 0;
printf("\n\nWhat is the length of the array? ");
scanf("%d", &originalLen);
char str[originalLen]; // intitializing the array
printf("Enter a message to enter into the array: ");
char target = getchar();
str[len] = target;
// why is getchar() reading '\n'?
if (target == '\n') {
printf("\n...what happened?\n");
}
return 0;
} // end of main
【问题讨论】: