我想创建一个程序,该程序从用户那里接收一些输入单词,将输入存储在数据结构中,然后将数据结构打印在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);
}
}
答案 0 :(得分:0)
scanf将只读取输入,直到到达空白为止。尝试阅读直到换行:
scanf("%[^\n]s", inputs.one);
scanf("%[^\n]s", inputs.two);
scanf("%[^\n]s", inputs.three);