用c语言填充字符数组

用c语言填充字符数组,c,arrays,C,Arrays,我试图一次填充一个数组一个字符,然后一次打印一个字符,但是当我输入5个字母时,它会剪切到print语句,并打印一堆垃圾值 #include <stdio.h> #include <stdlib.h> int main() { char work[10]; int i = 0; for(i = 0;i<10;i++){ work[i] = getchar(); } for(i = 0;i<10;i++

我试图一次填充一个数组一个字符,然后一次打印一个字符,但是当我输入5个字母时,它会剪切到print语句,并打印一堆垃圾值

#include <stdio.h>
#include <stdlib.h>


int main()
{
    char work[10];
    int i = 0;

    for(i = 0;i<10;i++){
       work[i] = getchar();
    }

    for(i = 0;i<10;i++){
        printf("%c\n",work[i]);
    }

}
#包括
#包括
int main()
{
炭制品[10];
int i=0;

对于(i=0;i试试这个,让我知道

#include <stdio.h>
#include <stdlib.h>


int main()
{
    char work[10];
    int i = 0;

    for(i = 0;i<10;i++){
       work[i] = getchar();
    }

    for(i = 0;i<10;i++){
        putchar(work[i]);
    }

}
#包括
#包括
int main()
{
炭制品[10];
int i=0;
对于(i=0;i可能在调用getchar()时自动添加“\n”。使用“/exec | cat-e”查看它们


因此,设置char工作[20]我可以发布一个运行示例吗?它的行为似乎和我预期的一样。不,如果不使用Unicode,它会起作用,请读取,并包含示例输入/输出。您的问题可能是您使用的是Unicode,但没有人确切知道。您是否通过在每个字母后按ENTER键来输入五个字母?这就是为什么它会这样做的明显原因你建议,因为每个回车键本身都是一个字符。我看到的唯一问题是1)不必要的第一次初始化
I
0
,2)
main()
应该返回一个
int
值(例如
0
),这些都不会影响仅使用代码的算法行为回答和“尝试此”通常是没有帮助的。解释你改变了什么以及为什么。另外——对于不清楚的问题,最好将问题标记为“不清楚你在问什么”。我不相信用
putchar(someChar)
替换
printf(“%c\n”,someChar)
会有很大的不同。