c语言中,%c和%s在输入和输出字符串的时候有什么区别?

 我来答
changyiduU4Q
高粉答主

2020-05-23 · 关注我不会让你失望
知道答主
回答量:264
采纳率:100%
帮助的人:8.1万
展开全部

输入:

1、赋值

%c输入函数只会对一个字节空间赋值,而%s会一直赋值,直到输入中遇到空白字符为止。

2、地址符

输入的时候scanf("%c", &a);这里的&不能少,而scanf("%s",s);这里不能有&符号。

输出:

1、长度

%c只能输出一个字符,%s输出的是一串字符,直到某一个字节内存的元素为字符'\0'时,输出此字符并且寻址结束。

扩展资料

转换说明符

1、%a(%A):浮点数、十六进制数字和p-(P-)记数法(C99)

2、%c:字符

3、%d:有符号十进制整数

4、%f:浮点数(包括float和doulbe)

5、%e(%E):浮点数指数输出[e-(E-)记数法]

6、%g(%G):浮点数不显无意义的零"0"

7、%i:有符号十进制整数(与%d相同)

8、%u:无符号十进制整数

9、%o八进制整数

10、%x(%X):十六进制整数0f(0F)

11、%p:指针

12、%s:字符串

13、%%:"%"

格式字符串

 语法:〔标志〕〔输出最少宽度〕〔.精度〕〔长度〕类型

 "%-md" :  左对齐,若m比实际少时,按实际输出。

 "%m.ns" :  输出m位,取字符串(左起)n位,左补空格,当n>m or m省略时m=n

 "%m.nf" :  输出浮点数,m为宽度,n为小数点右边数位

 "%3.1f" :   输入3852.99 输出3853.0

吴伟浩999
2019-10-31
知道答主
回答量:31
采纳率:0%
帮助的人:7.6万
展开全部
好用记得给个好评唷!!!
在printf函数格式字符:
%d,i 以带符号的十进制形式输出整数(正数不输出符号)%i 可以以八进制 十六进制转换十进制形式 则%d不能转换,直接输出
%u 以无符号的十进制形式输出整数
%o 以八进制的无符号形式输出整数(不输出前导符0)
%x X 以十六进制无符号形式输出整数(不输出前导符0x),用小写x 则输出0~f 用大写X则输出0~F
%c 以字符形式输出,只输出一字符
%s 输出字符串
%f 以小数形式输出单,双精度数,隐含输出6位小数
%e E 以指数形式输出实数
%g G 选用%f 或者%e格式中输出宽度较短的一种格式

在printf 函数中用到的格式附加字符
l 长整型整数,可加在格式符d o x u前面 列如:%ld
m (代表一个正整数) 数据最小宽度
n(代表一个正整数) 对实数,表示输出 n 位小数,对字符串,表示截取的字符个数
— 输出的数字或字符在域内向左靠

在scanf 函数输入数据
%d i 输入有符号十进制数
%c 输入无符号十进制数
%o 输入无符号入进制数
%x X 输入无符号的十六进制整数(大小写作用相同)
%c 输入单个字符
%s 输入字符串 将字符串送到一个字符数组中,在输入时以非空白字符开始,结束是以第一个空白字符结束,字符串结束标志‘/0’作为其最后一个字符
%f 输入实数 可以用小数形式或者指数形式输入
%e E g G 与f作用相同,e 与f g 可以相替换(大小写作用相同)

在scanf 函数中用到的格式附加字符
l输入长整 形数据(可用%ld,%lo,%lx,%lu)double形数据%lf%le
h输入短整 形数据%hd%ho%hx
域宽 指定输入数据所占宽度(列数)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Busanhaeng
推荐于2018-04-06 · TA获得超过612个赞
知道小有建树答主
回答量:200
采纳率:0%
帮助的人:286万
展开全部
%c是逐个输入输出字符数组中的元素,
%s是字符数组作为整体输入输出。
看了下面的程序你就应该明白了:
1
# include <stdio.h>
void main()
{
char ch[8];
gets(ch);
printf("%s",ch);
}

2
# include <stdio.h>
void main()
{
int i;
char ch[8];
gets(ch);
for(i=0;i<8;i++)
printf("%c",ch[i]);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bsimple
2008-08-24 · TA获得超过172个赞
知道小有建树答主
回答量:332
采纳率:0%
帮助的人:218万
展开全部
用%c,你需要用循环逐个输出字符,%s只要写上数组名,就可以输出‘\0’前的所有字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
snow03162268
2008-08-24 · 超过17用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:57.6万
展开全部
%c是用来输出字符的,%s是用来输出字符串的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式