我是C编程的新手。我想为数字和字符串提供输入。然后打印出来。程序编译,但我得到这个输出“你写了0”。任何提示都非常有价值。谢谢
#include <stdio.h>
int main(int argc, char **argv)
{
int number;
char cc[30];
scanf("Write number: %d\n", &number);
scanf("Write phrase: %s\n", cc);
printf("You wrote : %d %s",number,cc);
return 0;
}
答案 0 :(得分:4)
要使scanf("Write number: %d\n", &number);
成功,您需要输入类似&#34;写号:42&#34;进入,我不认为这是你想要做的。你可以用这个替换它
printf("Write number: ");
scanf("%d", &number);
另一个scanf()
有同样的问题并修复。
答案 1 :(得分:3)
您为scanf
提供的格式字符串是它所期望的输入格式。
您想要使用
printf("Write number: "); // no trailing \n here
scanf("%d", &number);
答案 2 :(得分:1)
首先,您无法使用scanf功能进行打印。为此,您必须在scanf语句之前使用printf语句。
printf("Write number: ");
scanf("%d", &number);
printf("\nWrite phrase: ");
scanf("%s", cc);
printf("\nYou wrote : %d %s",number,cc);
其次,您不应在scanf语句中的格式说明符后使用'\ n'。 scanf语句使用'\ n'即换行符,作为您已完成为函数提供输入的指示符。 即使以下代码也可以使用:
scanf("%d", &number);
scanf("%s", cc);
完成这项工作的更好方法是:
scanf("%d %s", &number, cc);