C语言中printf函数中%s是什么意思

是通过字符串首地址打印整个字符串吗?为什么其他控制符都需要内容,而%s需要指针

%c在C语言中代表字符型格式符。

%s在C语言中代表字符串型格式符。

%c和%s一般用在printf、sprintf等字符串格式化函数中,用于决定格式化参数的数据类型。如printf("%s",  a)会将变量a作为字符串类型进行格式化。

printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。

printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。

扩展资料:

C语言的格式输出中,%c,%s这些代表要输出的数据的数据类型,例如:

%d 十进制有符号整数

%u 十进制无符号整数

%f 浮点数

%s 字符串

%c 单个字符

%p 指针的值

%e 指数形式的浮点数

%x, %X 无符号以十六进制表示的整数

%0 无符号以八进制表示的整数

%g 自动选择合适的表示法

参考资料来源:百度百科-printf

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-18

输入输出的字符串标准类型。

这是C语言的格式输出,%c,%s这些代表你要输出的数据的数据类型:%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%0 无符号以八进制表示的整数
%g 自动选择合适的表示法

列子
scanf("%s",&ch);这是输入
printf("%s",ch);这是输出
还有其他类型,整数类型是%d,单精度浮点类型,也就是小数是%f,字符类型%c,

第2个回答  推荐于2017-09-14
是的,因为字符串不是一种基本数据类型,是字符数组,一个字符占据数组中的一个位置。给了指针后字符数组的首地址就被得到了,然后就会从首地址打印到\0出现。没有\0就会因为未定义而出现乱码。本回答被提问者采纳
第3个回答  2012-01-18
因为C没有字符串,于是猥琐的使用字符数组的起始下标当做所谓的字符串的指针。
第4个回答  2012-01-18
记住就好、不用深究、等以后接触多了、就不会在意这个叻、只要记着输出的是从字符串的首地址开始输出。
相似回答