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 中“输入控制符”的类型、变量所定义的类型,这三个类型一定要一致,否则就是错的。虽然编译的时候不会报错,但从程序功能的角度讲就是错的,则无法实现需要的功能。
参考资料来源:
这个图片中是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.
追问好的。
谢谢谢谢谢谢。
晚安。
那个应该怎么改啊。
追答一会就写
追问好的。谢谢。
追答你运行一下看看,估计你是这个意思,每次输入后按回车