大家好我真的很困惑这个,基本上我要做的就是接受输入并将其保存在字符串数组中,然后打印我在字符串数组中写下的内容。而不是printf显示我写下来的东西,而不是给我奇怪的字符。我究竟做错了什么?
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
char string[100];
printf("hey put a string here\n");
scanf("[%s\n]", string);
printf("hey this is what you wrote \n");
printf(string);
system("pause");
}
答案 0 :(得分:4)
而不是使用
scanf("[%s\n]", string);
要阅读一行文字,请使用fgets
。
fgets(string, sizeof(string), stdin);
另外,该行:
printf(string);
如果string
包含可以作为string
格式的任何内容,将不会打印printf
的内容。如果string
为"abcd %d"
,则printf
会将int
作为第二个参数。而不是那样,使用:
printf("%s", string);