c++中“scanf("%2d%*2s%2d", &x, &y);”是什么意思?

 我来答
kaixingui2012
推荐于2017-09-21 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6219万
展开全部

  scanf("%2d%*2s%2d", &x, &y); 表示输入一个不大于两位数的整数存储到x中,再输入一个不超过2位的字符串(不赋值给任何变量),再输入一个不大于两位数的整数存储到y中!如:

  输入 12aa34  x=12, y=34; 

  输入 1 + 2      x=1 , y=2;

附scanf()函数格式说明:

  • scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。

  • scanf函数的一般形式为:

    scanf(“格式控制字符串”, 地址表列);

    地址表列中给出各接收数据的变量的地址。

  • 格式字符串的一般形式为:

    %[*][输入数据宽度][长度符号]类型

    其中有方括号[]的项为任选项。各项的意义如下:

  1. 类型    

    表示输入数据的类型,如常用的d(整形) f(浮点型) c(字符) s(字符串)

  2. “*”符

    用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。

  3. 数据宽度

    用十进制整数指定输入的宽度(即字符数)。

  4. 长度符号

    长度格式符为l和h,l表示输入长整型数据(如%ld)和双精度浮点数(如%lf)。h表示输入短整型数据。

  使用scanf函数还必须注意以下几点:

  • scanf函数中没有精度控制,如:scanf("%5.2f",&a);是非法的。不能企图用此语句输入小数为2位的实数。

  • scanf中要求给出变量地址,如给出变量名则会出错。如 scanf("%d",a);是非法的,应改为scnaf("%d",&a);才是合法的。

  • 在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB或回车作间隔。C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。

  • 在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。

匿名用户
2010-01-06
展开全部
%*2s

%2s表示读取一个长度为两个字符的字符串,中间的*表示将读取到的字符串忽略,不赋给变量列表中的变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
swordlance
2010-01-06 · TA获得超过1007个赞
知道小有建树答主
回答量:535
采纳率:75%
帮助的人:442万
展开全部
输入一个六个字符的字符串,头两个字符组成一个两位十进制数存入变量x,最后两个字符组成一个两位十进制数存入y
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
王灿250
2013-03-28 · TA获得超过122个赞
知道答主
回答量:6
采纳率:0%
帮助的人:8950
展开全部
输入x和y。最本质的意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿呜的边城
2010-01-06 · TA获得超过1052个赞
知道小有建树答主
回答量:1286
采纳率:0%
帮助的人:600万
展开全部

scanf()是c里的,虽说c++的编译器多兼容c,但也不能这样说呃
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式