我试图显示并打印用户的一个单词并将其存储到我的数组中,该数组称为
char word[20]
但我遇到了麻烦。我知道我们使用“for循环”将其扫描到数组中,但我一直在圈子里,我相信问题出在i < 20
上。
我对此进行了研究,发现对此的答案非常有经验,我需要一种非常基本的方法来做到这一点而不需要额外的东西。所以我想要的是从用户那里得到消息,存储它并将其打印到屏幕上。
没有经验丰富的代码,有人可以提供帮助吗?
C中的代码
char getWord(char word[]);
int main()
{
char word[20];
getWord(word);
return 0;
}
char getWord(char word[])
{
int i;
printf("Enter a word: ");
for (i = 0; i < 20; i++)
{
scanf(" %c", &word[i]);
}
return word;
}
答案 0 :(得分:6)
你想要的只是
#include <stdio.h>
int main() {
char word[20];
scanf("%s", word); // Read and store
printf("%s\n", word); // Print
return 0;
}
答案 1 :(得分:0)
您可以使用fgets和puts来读取和写入字符串。
#include<stdio.h>
#define MAX 20
int main()
{
int ar[MAX], i, count;
fgets(ar, MAX, stdin); //it will accept whitespaces as well
puts(ar); //displaying entered string
return;
}
答案 2 :(得分:-3)
如果你想通过字符阅读,结尾字符应该设置为空字符,因为它是字符串。
char getWord(char word[]);
int main()
{
char word[20]
getWord(word);
printf("%s\n", word);
return 0;
}
char getWord(char word[])
{
int i;
char c;
printf("Enter a word: ");
for (i = 0; i < 19; i++)
{
scanf("%c", &c);
if ( c == '\n' )
break;
word[i]=c;
}
word[i]='\0';
return word;
}