c语言中scanf(“%2d%*2d%2d”,&a,&b);若要输入123456789 则变量a和

c语言中scanf(“%2d%*2d%2d”,&a,&b);若要输入123456789
则变量a和b的值分别是?

a=12,b=56;

scanf可以指定输入的宽度,比如scanf(“%2d",&a);就是把输入数据的前两位赋值给a。scanf可以用“*”跳过指定的宽度,比如scanf(“%2d%*2d%2d”,&a,&b);就是把输入数据的前两位12赋值给a,然后跳过34两位,最后把下面两位56赋给b。scanf函数遇到空格和非法输入时结束,并且可以指定输入宽度。追问

知道了,谢了啊

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-04-13
答案:A 解析:在本题的 scan 语句中,格式串指定变量 a 和 b 分别从输入中取 2 位数字,a 的值为 12, b 的值为 34,格式串中多出来的“%3d”没有作用,输出的是 12+34=46,答案为 A。
第2个回答  2013-10-22
a=12,b=56

%2d 读1个2位整型数 存入a
%*2d -- 跳过输入流中的 1个2位整型数.
%2d读1个2位整型数 存入b追问

什么意思啊?看不懂呢

追答

%d 是输入一个整数,这个你知道吧? %2d中的2表示是一个两位的整数,输入一个两位整数,并赋值给a,所以a是最先输入的两个数12;
%*2d表示跳过或者忽略后面输入的1个两位整数,也就是34,这个两个数被忽略了
%2d就是从输入中取一个两位整数给b,所以b的值是56

追问

好的,知道了啊,谢了啊

第3个回答  2018-05-24
12 45 %d是赋予2个整数,*%2d是跳过两个整数你可以去百度一下这些符号的意思的
第4个回答  2013-10-22
a=12,b=56具体请见链接http://wenku.baidu.com/view/cabc1927af45b307e87197de.html。里面有介绍。追问

找不到。。。

c语言中scanf(“%2d%*2d%2d”,&a,&b);若要输入123456789 则变量a和
scanf可以用“*”跳过指定的宽度,比如scanf(“%2d%*2d%2d”,&a,&b);就是把输入数据的前两位12赋值给a,然后跳过34两位,最后把下面两位56赋给b。scanf函数遇到空格和非法输入时结束,并且可以指定输入宽度。

...&b,&c);printf("%d,%d,%d",a,b,c);输入123456789,那么运行结果为...
第一个%2d表示取2位数赋给a,所以为12;第二个%*3d表示跳过3个数字,所以345被跳过;第三个%3d表示取3位数赋给b,所以为678;第三个%2d表示取2位数赋给c,但剩下的数字只有9了,所以为9;12,678,9

关于C语言scanf的疑问
scanf("%2d%*3d%2d",&a,&b,&c);printf("%d %d %d\\n", a, b, c);system("pause");} 如果输入:1234567890 那么:%2d,把12送到a中;接着,%*3d忽略掉3个数字,即把345忽略掉,并不送到任何一个变量中。接着又是一个%2d,把67送到b中。所以最后的结果就是a = 12, b = 67...

c语言中,用scanf 函数调用语句时,在格式符与%之间加入*是什么作用?
后的“*”附加说明符,用来表示跳过它相应的数据。例如:scanf(“%2d%*3d%2d”,&a,&b);如果输入如下信息:1234567。将12赋给a,67赋给b。第二个数据”345”被跳过不赋给任何变量。

c语言中怎么输入123456789输出12?取整数前两位
这个程序在输入的时候通过控制符读入a、b和c。scanf("%2d%3d",&a,&b);表示输入的数字前两位赋值给a,再往后三位赋值给b。

...{ int a=1,b; scanf("%2d%2d",&a,&b); printf("%d %d\\n",a,b...
scanf("%2d%2d",&a,&b); 表示把输入序列中的前两个给变量a,第三四个给b,多余的忽略掉。所以输出:12 34

...个C语言的题目,当执行下列程序时输入:123456789,输出结果是什么啊...
因为输入的时候用%c格式输入,char是一个字节,所以只取一个字符,也就是输入的1,后面的自然就给了i 再输入的123456789就全部给了数组s 跟编译器有关吧,我这里用的sizeof(int)==4所以23456789在-4294967296~4294967295范围之内,所以对于数组还要再输入一次 如果sizeof(int)==2则范围为-65536~65535...

scanf("%2d%*2d%2d", &a, &b); 请问那个*2d怎么解释?
2d 读1个2位整型数 存入a 2d -- 跳过输入流中的 1个2位整型数.2d读1个2位整型数 存入b

C语言关于scanf用法的问题
scanf("%2d%f",&a,&b);中第一个格式控制字符2d的意思是读取2位,作为一个整数输入到给对应的变量a的地址中。输入876,当然只读取前2位87。这是2的作用,后面输入对于2来说,相当于非法输入。对于%f,后面输入的是7 543.0,对于浮点型数据是不可能得到空格的,所以遇到空格,认为是非法输入,...

c语言scanf问题
scanf("%2d%*2d%1d",&x,&y);的意思是:先取你输入的内容中的1个2位数字的整数,赋值给变量x,然后忽略紧接着的1个2位数字,然后取1个1位数字的整数,赋值给变量y 假如你输入1234567,那么x=12,34忽略,y=5 x+5=12+5=17

相似回答