试图在C中打印一个字符串

时间:2016-06-24 20:16:57

标签: c arrays string printf

大家好我真的很困惑这个,基本上我要做的就是接受输入并将其保存在字符串数组中,然后打印我在字符串数组中写下的内容。而不是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");
}

1 个答案:

答案 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);