scanf中的 表示(C语言中scanf的%s是什么意思,%c和%s有什么区别会的进来,谢谢.)

本文目录
- C语言中scanf的%s是什么意思,%c和%s有什么区别会的进来,谢谢.
- scanf(“%c“,&ch)什么意思
- C语言 scanf(“%d,%d“,&a,&b);每个字符都是什么意思啊
- scanf的格式说明符%%代表什么意思
C语言中scanf的%s是什么意思,%c和%s有什么区别会的进来,谢谢.
char name;
printf("input your name:");
scanf("%s", name);
printf("%s\n", name);
下面是运行界面:
input your name:apple
apple
Process returned 0 (0x0) execution time : 7.521 s
Press any key to continue.
执行程序, 输入 apple
输出 apple
第一句,是字符串数组定义, scanf %s 就是你键盘输入字符串, 输出的时候就是一堆字符串
scanf %c
%c 的格式输入, 就是定义的单个字符的输入
char ch;
printf("please input a character:");
scanf("%c", &ch);
printf("%c\n", ch);
你键盘输入一个字符 a
屏幕打印一个字符 a
下面是运行界面:
please input a character:a
a
Process returned 0 (0x0) execution time : 6.135 s
Press any key to continue.
C语言的规定,就是单个字符用%c 格式输入控制符, 字符串的格式输入控制用%s
你完全可以复制运行一下, 初学不要想太多.
你应该学过最简单的 %d 控制符了吧, 就是十进制输入,输出控制符, C语言就规定, 你写%d, 我编译器就会当十进制输入输出. 你写其他的, 不是规定来的, 电脑也看不懂.
另外字符串数组, 输入字符串的时候, 不需要取地址符, 因为数组名就是地址, 是个地址常量. 不是变量. 楼下有个评论的兄弟, 也提到了. 这段话,你如果没学到数组, 而且没学到字符指针的话, 可以不用去看. 学到了的话,可以去考虑下,
scanf(“%c“,&ch)什么意思
1、%c是字符型
2、%ch则是输入一个字符后,必须加上一个h
比如:
scanf("%*");
里面的就是除了’a’里面的*表示:通配符,所有字符.
然后合起来就是取出所有除了\n之外的字符scanf("%*c");
就是取出一个字符,一般取出就是刚刚上面那句没有取出的’\n’
为什么这么做是因为scanf读取数据的机制,scanf是从输入缓冲区取数据的
而它取数据的时候会逐个查看,可以理解为贪婪模式,然后发现刚刚吃的那个不好吃,就会吐回输入缓冲区这就会影响用户的下一次输入,
因为输入缓冲区中有东西,所以用户下次输入的东西要排在之前缓冲区内容的后面.
C语言 scanf(“%d,%d“,&a,&b);每个字符都是什么意思啊
scanf表示的是c语言的输入方法,
()内表示的是你输入的数据存放在哪里
scanf("%d,%d",&a,&b)的意思是输入2个整数,分别放在a,b中
"%d,%d"表示a与b都是整数,
这个是有固定的格式的
scanf("%类型",&变量名);
&表示取地址符,这样可以找到a,b的内存地址,把输入的数据放到a,b所对应的内存地址中去
scanf的格式说明符%%代表什么意思
对于楼主的说明有多种理解,我主要找了三个这方面的知道,你可以看下.
呵呵,
%
格式控制,就是说明你要输入的是什么类型的数
scanf("%d",&a);就是输入整形数据
a
%c
读入一个字符
%d
读入十进制整数
%i
读入十进制,八进制,十六进制整数
%o
读入八进制整数
%x,%X
读入十六进制整数
%s
读入一个字符串,遇空格、制表符或换行符结束。
%f,%F,%e,%E,%g,%G
用来输入实数,可以用小数形式或指数形式输入。
%p
读入一个指针
%u
读入一个无符号十进制整数
%n
至此已读入值的等价字符数
%
扫描字符集合
%%
读%符号
scanf()函数接收键盘输入的字符,无论是什么类型的经过格式转换都转化为对应的二进制数据,保存在内存中。
格式字符
格式字符用以指定输出项的数据类型和输出格式。
①d格式:用来输出十进制整数。有以下几种用法:
%d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
%ld:输出长整型数据。
②o格式:以无符号八进制形式输出整数。对长整型可以用"%lo"格式输出。同样也可以指定字段宽度用“%mo”格式输出。
例:
main()
{
int
a
=
-1;
printf("%d,
%o",
a,
a);
}
运行结果:-1,177777
程序解析:-1在内存单元中(以补码形式存放)为(1111111111111111)2,转换为八进制数为(177777)8。
③x格式:以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段宽度用"%mx"格式输出。
④u格式:以无符号十进制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定字段宽度用“%mu”格式输出。
⑤c格式:输出一个字符。
⑥s格式:用来输出一个串。有几中用法
%s:例如:printf("%s",
"CHINA")输出"CHINA"字符串(不包括双引号)。
%ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。
%-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。
%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n》m,则自动取n值,即保证n个字符正常输出。
⑦f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
%f:不指定宽度,整数部分全部输出并输出6位小数。
%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。
%-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。
⑧e格式:以指数形式输出实数。可用以下形式:
%e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。
%m.ne和%-m.ne:m、n和”-”字符含义与前相同。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。
⑨g格式:自动选f格式或e格式中较短的一种输出,且不输出无意义的零。
帮你找了好多了,这方面的知识.呵呵,

更多文章:
java移植apk破解游戏(Android破解第三方App)
2025年12月9日 15:45
matlab代码复制到word出现乱码(matlab界面出现乱码怎么解决)
2026年8月4日 17:30
conversation可数还是不可数(conversation为什么不用复数,后一个conversations为什么就用复数)
2025年8月13日 04:45
布吉街道相关区域调整风险等级(12月5日_口区关于调整部分区域风险等级的通告)
2025年8月5日 06:15
averted(avert avoid和prevent的区别)
2025年10月1日 06:30
css怎么让边框边角圆滑(怎么设置CSS属性让div的边框看到是圆角矩形)
2026年8月19日 19:45
电器上charge是什么意思(DRV,FOUT,CHARGE在变频器面板中什么意思)
2026年1月28日 23:45
16进制转10进制 python(有符号十六进制转换为十进制 怎么转换啊)
2025年9月13日 11:00
two clothes(a piece of clothes 到底对吗)
2026年5月2日 20:15
mapreduce写磁盘(为啥mapreduce不适合实时数据)
2026年5月17日 15:00
php+mysql开发酒店预订网页(旅游网站系统的核心是什么)
2025年8月27日 05:30
通过层级关系描述目标图像的位置(思维导图软件使用,软件怎么画出由粗到细的不同的各级分支,求教)
2025年11月29日 06:00
绝无神的两个儿子绝心和绝天如何一步步手足相残?神界浩劫2.2炼魔化神珠 在哪里打 高手告诉下. 还有就是封魔套打成真的地方怎么去
2025年9月15日 18:00










