问几个C语言scanf函数和printf函数问题?

第一个问题:x1,x2,y1,y2的值分别为10,20,A,B.。scanf("%d%c%d%c",&x1,&y1,&x2,&y2);问正确的输入格式,答案是:10A空格20B
我想问一下为什么数字和字母之间可以不用空格隔开?为什么在A后面添加空格?
第二个问题:x1,x2,y1,y2的值分别为10,20,A,B.。
scanf("%d%d",&x1,&x2);scanf("%c%c",&y1,&y2);问正确的输入格式,答案是10空格20AB
我想问输入字母时,字母和字母之间不需要空格吗?字母后面遇到数字用空格隔开,遇到字母不需要用空格隔开是吗?
有没有人跟我讲解一下?

第一个问题:
因为读取数字时,遇到非数字字符就结束读取了,非数字字符就可以在下一次读取。所以,数字和字母之间可以不用空格隔开。
读取字符的后面,如果要读取数字,空格不是必须要加的,只是看起来更清楚一点罢了(不加空格也是可以的)。
第二个问题:
在使用scanf()输入字母时,字母和字母之间不能有空格的(否则每二个字符就会读到空格,除非在格式串中也写明空格)。字母后面遇到数字可以用空格隔开,遇到字母不能用空格隔开的。
scanf("%d%d",&x1,&x2);scanf("%c%c",&y1,&y2);
正确的输入格式,答案是10空格20AB,但是这个答案不是唯一的。
像下面这样也是可以的:
10回车
20AB
还有别的输入方式的。追问

只有数字和数字之间才有必要用空格隔开是吗?

追答

只有数字和数字之间才有必要用空格隔开是吗?----不是这样的。
只有数字和数字之间才有必要用“分隔符”隔开(空格、回车、TAB符,逗号等任意指定的字符都可以的。

不然的话,它不知道要读几位数。如果指定读几位数,也可以不用分隔符的。

温馨提示:内容为网友见解,仅供参考
无其他回答

问几个C语言scanf函数和printf函数问题?
第一个问题:因为读取数字时,遇到非数字字符就结束读取了,非数字字符就可以在下一次读取。所以,数字和字母之间可以不用空格隔开。读取字符的后面,如果要读取数字,空格不是必须要加的,只是看起来更清楚一点罢了(不加空格也是可以的)。第二个问题:在使用scanf()输入字母时,字母和字母之间不能有空...

关于scanf和printf的几个问题
scanf和printf这两个函数是操作系统函数涉不涉及到底层,那要看微软是怎么实现的,微软的东西基本 不开源,所以就这两个很常用很简单任何人都知道的函数涉及不涉及底层我还真不知道。但是就我做嵌 入式以来根基个人观点因该是不涉及底层的。(注意C语言本身是没有输入和输出函数的这两个函数是 windows...

C语言scanf和printf的使用问题
printf("please enter four integer \\n");scanf("%d,%d ",&a,&b);\/\/""里面存在空格,要删去,同时输入时,两数字要用逗号隔开 printf("%d,%d",a,b);getch();}

在c语言中scanf函数和printf函数具体怎么用,还有这两者的区别是...
1.如scanf("%d",i)中只要前面是%d,后面i不管是什么类型?都按指定的格式(整形)输出?2.如printf("%d",i)中i必须是前面规定的类型(整型)?如果我直接printf(i)就不对?假设对的话,这个意思就是输出变量名i?]而printf("%d",i)就是输出变量值的意思?那么第一个"%d"就是帮助程序(或者格式化)获...

关于C语言中scanf和printf函数
scanf("%s%c",&year,&code);这种 要正确 要将 year 定义为 数组类型 ,s 接收字符串要用数组 char year[10]这样。c 只能接收 单个字符。你写的这个呢,printf("%4.2f",456);如果直接打印 是0.00 应为 456 默认为 int类型。写成 456.0,就可以,其中的4表示的是 4个位如果实际的 位数 ...

c语言指针与scanf和printf的问题
第四个没错,b错了,原因是a[0]没有初始化,没有赋值,因此a[0]的值不确定,怎么可以在赋值给其他变量,会报错的,A和C错误的原因和楼上一样,呵呵,代码都帮你打了,采纳下呗

C语言中printf和scanf有什么区别?
先说AC. scanf("%d", &a); printf("%d", a) 这两个不用怀疑,只要上过机就知道。B,没有问题。因为p=&a即p已经接收了a的地址,所以scanf("%d", p)就做到了把a的地址传递给scanf函数,运行时输入的数值会正确存到a那里,没有问题。D,在语义上就有问题,显示a可用printf("%d",*p...

为何在C语言中的scanf()中要用到取地址符,而printf()中却不用?
scanf()函数需要地址来将输入数据存储在变量中,而printf()函数需要变量值来输出信息。这符合编程逻辑和人类的思考习惯。在编程时,遵循这种设计原则可以使代码更清晰、更容易理解。虽然在某些情况下,你可能想要改变这种规则,但这通常会引入混淆和潜在的错误,因此在C语言中,这些函数的使用方式被规定下来...

关于scanf函数和printf函数的用法与区别(菜鸟级提问!!)
1.区别:scanf与printf函数一样,都被定义在头文件stdio.h里,因此在使用scanf函数时要加上#include <stdio.h>。它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。而printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。2.scanf用法:int scanf(const ...

c语言中scanf和printf都是输出函数,两者有什么区别呢
1.scanf()是C语言中的一个输入函数。函数 scanf() 是从标准输入流stdio (标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。比如:scanf("%d %d",&a,&b);函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2;如果只有a...

相似回答