2级 c语言 这个问题有答案 需要步骤

来源:百度知道 编辑:UC知道 时间:2024/05/17 20:08:43
#include<stdio.h>
#define N 6
main()
{char c[N];int i=0;
for(i=0;i<N;i++)c[i]=getchar();
for(i=0;i<n;i++)putchar(c[i]);
}
当输a<CR>
b<CR>.
cdef<CR>
是的输出结果是什么 怎么算的 需要步骤 最后的结果是
a
b
cd 这是答案我想问 答案为什么 不是 a
b
cdef

输入6个字符,输出6个字符

abcdef.

getchar()只接受一个字符
a<cr>,c[0]=a
b<cr>,c[1]=b
cdef<cr>,c[2]=c,c[3]=d,c[4]e,c[5]=f.

你只能一个一个字符输入的 ,getchar()!

首先,getchar()只能一次接收一个字符,所以,程序在运行过程中实际上是输入一个字符,就自动进行了一次循环。
其次就是一点小小的建议。就是在用c=getchar()的时候,一般要在最后一次用后,再加上一个空的getchar()语句,以便吃掉你最后输入的那个回车符。即
#include<stdio.h>
#define N 6
main()
{char c[N];int i=0;
for(i=0;i<N;i++)c[i]=getchar();
getchar();
for(i=0;i<n;i++)putchar(c[i]);
}
在这个题中之所以没有影响,是因为你刚好输入了6个字符,输入实际上是自动结束的,再按回车就不会有影响了。