C语言中scanf怎样插入换行符?是scanf("%d\n",&l)么??为什么在运行时还是要手动换行啊??

如题。。谢谢。。

呵呵,你混淆了printf()和scanf()了吧?scanf是用来输入的,当你按回车键之后它就结束输入,命令行里面也就换行了。
scanf("%d",&l)就行了。追问

o..知道了。。再问下哈,如果我是要输入三个数,且输入一个数要换行,是不是一定要分别写三个scanf呢?比如:scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);

追答

那就不一定了,scanf支持输入多个数据!
比如输入三个数可以这样写
scanf("%d%d%d",&a,&b,&c);
三个%d格式控制串表示输入的数据格式和数据的个数,当你输入的时候一般可以按如下格式输入三个数:
格式1:128 256 1024 空格隔开数据
格式2:每个数字之间用TAB隔开
格式3:每次输入一个数据按一次回车

另外还有一种方法:就是在scanf语句中指定用来分隔数据的符号,这种方法要求输入的格式一定符合要求,否则结果不正确。
方法如:scanf("%d,%d,%d",&a,&b,&c);这个方法输入三个数的时候一定要用英文双引号隔开!输入格式如65536,10240,4098

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-10-17
\n一般在printf语句中使用,在输入语句中手动换行代表你变量值输入结束。例如你想要输入int型100,如果换行是自动的,计算机不会知道你是输入1 还是输入10 还是输入100 ,所以scanf是不会自动换行的。在scanf中加入\n是代表一种输入格式,代表着你换行结束输入,如果你不加换行符也是可以的。追问

o..知道了。。再问下哈,如果我是要输入三个数,且输入一个数要换行,是不是一定要分别写三个scanf呢?比如:scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);

第2个回答  2011-10-17
不能这样写,易出现问题。
可以输入完一个,下面接着输出一个换行。
例如:
printf("\n");
scanf("%d",&l);
printf("\n");
第3个回答  2011-10-17
你这样写错了,应该是scanf("%d",&l)
要是要换行的话应该输入printf("\n");
不知道你清楚了没?
第4个回答  2011-10-17
printf("\n");
scanf("%d",&l);
相似回答