在数据结构中存储一串单词

时间:2018-08-24 20:37:01

标签: c data-structures

我想创建一个程序,该程序从用户那里接收一些输入单词,将输入存储在数据结构中,然后将数据结构打印在txt文件上。

现在,我仅在接收一些输入并将其存储在数据结构中的部分上进行构建,然后添加了printf来打印数据结构,仅用于测试。

问题是,如果我在char“ one”上输入“ test_one”,它将打印“ test_one”,但是如果我输入“ test one”,它将仅打印“ test”。 我如何编辑它以便存储整个单词而不是一个单词?我可以使用指针吗?

#include <stdio.h>

struct inputs {
   char one[30];
   char two[30];
   char three[30];     
};

int main(void)
{  

   struct inputs inputs = {"", "", ""};
   scanf("%s%s%s", inputs.one, inputs.two, inputs.three);

   printf("\n%s;%s;%s\n", inputs.one, inputs.two, inputs.three);


   } 
} 

1 个答案:

答案 0 :(得分:0)

具有标准“%s”的

scanf将只读取输入,直到到达空白为止。尝试阅读直到换行:

scanf("%[^\n]s", inputs.one);
scanf("%[^\n]s", inputs.two);
scanf("%[^\n]s", inputs.three);