【发布时间】:2019-05-21 09:03:10
【问题描述】:
我需要使用 scanf() 读取一行作为输入,然后使用 printf() 打印它。
我尝试使用scanf("%[^\n]%*c",sen); 和
printf("%[^\n]%*c", sen);
这是我得到的输出:
%[^
]
谁能指出我错了什么?
以下代码将采用三个输入,一个字符、一个字符串和一行。之后,只需打印三个数据。但我在使用scanf() 阅读该行时遇到问题。
{
char ch,s[10],sen[25];
scanf("%c",&ch);
scanf("%s",s);
scanf("\n");
scanf("%[^\n]%*c",sen);
printf("%c\n",ch);
printf("%s\n",s);
printf("%[^\n]%*c", sen);
}
预期的输出将如下所示:
C
Language
Welcome To C!!
我得到了什么:
C
Language
%[^
]
【问题讨论】:
-
为什么需要使用scanf?
-
printf("%[^\n]%*c", sen);-->printf("%s", sen); -
@Broman 这是一个挑战。我只能使用 scanf() 和 printf()。
-
scanf和printf有一些相似之处,但需要分别研究。 -
用
scanf读一行就像用螺丝刀钉钉子一样。你也许可以让它大部分工作,但这是一个毫无意义的练习,而且完全不适合这项工作。
标签: c