在c语言中怎么实现输入scanf 时能够换行输入。比如输入1然后换行输入2?求大神。

如题所述

scanf可以手动输入换行,例如输入1 ,回车,2。

scanf() 函数的声明:int scanf(const char *format, ...)

1、&a、&b、&c 中的 & 是地址运算符,分别获得这三个变量的内存地址。

2、%d%d%d是按十进值格式输入三个数值。输入时,在两个数据之间可以用一个或多个空格、tab 键、回车键分隔。

如果使用 , 来分隔输入的 %d, 相应的输入时也需要添加 。

扩展资料

使用scanf的注意事项

1、参数的个数一定要对应

在前面介绍 printf 时说过,“输出控制符”和“输出参数”无论在“顺序上”还是在“个数上”一定要一一对应。这句话同样对 scanf 有效,即“输入控制符”和“输入参数”无论在“顺序上”还是在“个数上”一定要一一对应。

2、输入的数据类型一定要与所需要的数据类型一致

在 printf 中,“输出控制符”的类型可以与数据的类型不一致,但是在 scanf 中,对于从键盘输入的数据的类型、scanf 中“输入控制符”的类型、变量所定义的类型,这三个类型一定要一致,否则就是错的。虽然编译的时候不会报错,但从程序功能的角度讲就是错的,则无法实现需要的功能。

参考资料来源:

百度百科——scanf

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-22
要输入的多的话,也可以使用循环语句,但是要设置异常值比如学生成绩的话-1就异常,来使循环结束追问

这个图片中是1 2 2 2

怎么能变成1
1 2
2 2

追答

明白你意思了

追问

所以应该怎么输入。

求解决方法
谢谢谢谢谢谢。

追答

do
{
printf(“%d\t”,i++);
scanf(“%d”,&n);
printf(“\n”);}
while(n!= -1)

不对,把printf("\n");去掉

追问

麻烦问一些错哪儿了??

为什么当m或者m等于1负一的时候它输不出来,无法进行下一步。

追答

你中毒已深啊

后面两个while和那个三元运算符

我现在用手机

明天吧,好不好

我也刚入门以后可以互相交流

我QQ2090403902.

追问

好的。
谢谢谢谢谢谢。

晚安。

那个应该怎么改啊。

追答

一会就写

追问

好的。谢谢。

追答

你运行一下看看,估计你是这个意思,每次输入后按回车

第2个回答  2015-07-22
scanf....
printf("\n")
scanf...追问

不是,就是直接能连续输入。

我现在只能这样输入。

1 2 2 2

怎么能变成
1 2
2 2

本回答被网友采纳
第3个回答  2015-07-22
其实你可以输入一个数后,直接回车,然后继续输入,也是可以的追问

题目要求不是这样的。

就是能把图片中的1 2 2 2

能变成
1 2
2 2

追答

按照楼上的方法输出换行试试看

追问

不行,这样下面的程序就只能运行一组数据了啊。

这个是代码。

求求求。求大神。

相似回答