首 页 行业热点 新车 试驾评测 养车用车 车型库

C语言.,scant函数 那个%格式符,就是进制,怎么算的.没看明白.比如%d 那就代表一个数?

发布网友

我来回答

5个回答

热心网友

scanf("%d",&a)是给a赋值,前面的%d是告诉程序将输入的值按何种形式存放在内存里。

%d是什么意思呢,就是你输入数字时,程序把你输入的东西当成是10进制数,它会自动将10进制数转换成2进制存放到内存中,比如你输入的是9,ok,程序就把你输入的当成10进制的9(二进制0000 1001),内存中存的就是0000 1001。
如果是%c呢?就是说把你输入的9看成是ascii码中“9”这个字符,查一下ascii表,发现“9”的ascii值是10进制的57(二进制为0011 1001),程序内存中存入的就是0011 1001了,而不是0000 1001。

内存中的数据到底代表什么东西是不确定的,就像上面的0011 1001,如果你把它当作数值,它可以代表10进制的57,你要是把它当作一个字符,它又变成"c"了,上面的%d,%c之类就是告诉程序要按哪种意思来解释。

热心网友

%符号是用来格式化后面你要输入的数据的。数据赋予的是&后面的变量。
下面是%符号的用法,常用就记住了:

%a,%A 读入一个浮点值(仅C99有效)
  %c 读入一个字符
  %d 读入十进制整数
  %i 读入十进制,八进制,十六进制整数
  %o 读入八进制整数
  %x,%X 读入十六进制整数
  %s 读入一个字符串,遇空格、制表符或换行符结束。
  %f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。
  %p 读入一个指针
  %u 读入一个无符号十进制整数
  %n 至此已读入值的等价字符数
  %[] 扫描字符集合
  %% 读%符号

热心网友

scant("%d%d%d",&a,&b,&c)中间有逗号的。
不是赋值给%d而是给abc赋值的。
如果你这样输入:
1回车
2回车
3回车
那么a=1;b=2;c=3
如果想一次性输入;
1空格2空格3回车 此时a=1;b=2;c=3
但是要是输入123回车 此时a=123
系统还会要你继续输入。
%d就是读入十进制的数字。
还有问题没?

热心网友

我是来感谢上面童鞋的回答的!!

热心网友

VJF904

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com