【发布时间】:2017-10-20 10:12:03
【问题描述】:
问题:在我的代码中,无论我为 n 输入什么,编译器都只允许我输入和输出其中的一半。为什么?
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n;
scanf("%d\n",&n);
char *c= (char*)malloc((n+1)*sizeof(char));
c[n]='\0';
for(int i=0;i<n;i++)
{
scanf("%c",&c[i]);
}
for(int i=0;i<n;i++)
{
printf("%c",c[i]);
}
}
【问题讨论】:
-
不要按一次输入一个字符,而是连续输入。
-
记住:Enter (
'\n') 也是一个字符!