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

如题所述

输入:

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

温馨提示:答案为网友推荐,仅供参考
相似回答