c语言中%c与%s的区别

如题所述

c语言中%c格式符表示输出的是字符 ,%s格式符表示输出的是字符串

C语言基本构成:

1.数据类型

C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

2.常量与变量

常量其值不可改变,符号常量名通常用大写。

变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。

3.数组

如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。

4.指针

如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。

指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。

指针是一把双刃剑,许多操作可以通过指针自然的表达,但是不正确的或者过分的使用指针又会给程序带来大量潜在的错误。

5.字符串

C语言的字符串其实就是以'\0'字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准库里面的一些用于对字符串进行操作的函数。它们不同于字符数组。使用这些函数需要引用头文件<string.h>。

6.文件输入/输出

在C语言中,输入和输出是经由标准库中的一组函数来实现的。在ANSI C中,这些函数被定义在头文件<stdio.h>;中。

7.标准输入/输出

有三个标准输入/输出是标准I/O库预先定义的:

stdin标准输入

stdout标准输出

stderr输入输出错误

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-26
%c对应类型为char, %s对应类型为char *, 即字符串.
用作输入时, 二者参数都要传char*型. %c输入函数只会对一个字节空间赋值. 而%s会一直赋值,直到输入中遇到空白字符为止.
用作输出时, %c传char类型,输出一个字符. %s传char*类型参数, 输出到\0为止.本回答被网友采纳
第2个回答  推荐于2017-12-13
%c格式对应的是单个字符,%s格式对应的是字符串。例:char a;char b[20];scanf("%c",&a); //只能输入一个字符。scanf("%s",b); //可以输入一串不超过20字符的字符串。本回答被网友采纳
第3个回答  推荐于2017-12-09
%c只能输出或输入一个字符,%s输出的是一串字符还有就是char a; string s;输入的时候scanf("%c", &a);这里的&不能少,而scanf("%s",s);这里不能有&符号本回答被网友采纳
第4个回答  2017-12-26
这是C语言的格式输出,%c,%s这些代表你要输出的数据的数据类型:%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%0 无符号以八进制表示的整数
%g 自动选择合适的表示法
相似回答