我对编程完全陌生(大学第一学期(,我跟不上我的讲师。目前,我被困在这个练习上(时间比我愿意承认的要长得多(。我试图在互联网上寻求帮助(在这个网站和其他网站上也是如此(,但我不能,因为我们的讲师让我们使用一种非常简单的 c 形式。我不一定要求一个完整的答案。我真的会理解一些关于我错在哪里的提示。我知道这对某些人来说可能很简单,这个问题可能看起来无知或愚蠢,我为没有弄错什么而感到难过,但我需要尝试理解。
所以,我试图做的是使用 scanf 和 do while 循环,以便用户可以在数组中输入字符。但我不明白为什么当用户按 Enter 时循环不会停止。代码还有更多内容,但我正在尝试慢慢地,一步一步地进行。(我不允许使用指针和 getchar 等(。
#include <stdio.h>
main()
{
char a[50];
int i;
printf("Give max 50 charactersn");
i=0;
do
{
scanf("%c", &a[i]);
i=i+1;
}
while((i<=50) && (a[i-1]!=' '));
for(i=0; i<50; i++)
printf("%c", a[i]);
}
这里没有任何以 nul 结尾的字符串,只有字符串数组。
因此,当按 Enter 时,a[i-1]
n
不