%c格式对应的是单个字符,%s格式对应的是字符串。

例:

char a;

char b[20];

scanf("%c",&a); //只能输入一个字符。

scanf("%s",b); //可以输入一串不超过20字符的字符串。

%c对应类型为char, %s对应类型为char * , 即字符串.

用作输入时, 二者参数都要传char * 型.

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

用作输出时, %c传char类型,输出一个字符. %s传char*类型参数, 输出到\0为止.

%c只能输出或输入一个字符,%s输出的是一串字符还有就是char a; string s;

输入的时候scanf("%c", &a);这里的&不能少

而scanf("%s",s);这里不能有&符号

转换说明符

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

%c 字符

%d 有符号十进制整数

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

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

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

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

%u 无符号十进制整数

%o 八进制整数 e.g. 0123

%x(%X) 十六进制整数0f(0F) e.g. 0x1234

%p 指针

%s 字符串

%% "%"

补充知识:c语言中scanf("%c",&c)吃掉回车或者空格字符的问题

2`标志

左对齐:"-" e.g. "%-20s"

右对齐:"+" e.g. "%+20s"

3.格式字符串(格式)

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

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

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

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

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

补充知识:c语言中scanf("%c",&c)吃掉回车或者空格字符的问题

我就废话不多说了,大家还是直接看代码吧~

#include

void main(){

int a;

char b;

printf("input a integer\n");

scanf("%d",&a);

//这里需要吸收 回车符 下面有种方法,第二种我没看懂 谁能改下代码 告诉我第二种怎么用

printf("input a char\n");

scanf("%c",&b);

printf("%d,%c\n",a,b);

}

/*

(1)用getchar()清除

(2)用"%1s"来限制

(3)用格式串中空格或"%*c"来"吃掉"

(4)用函数fflush(stdin)清除全部剩余内容

*/

下面使用第二种方法

#include

int main(){

int a;

char b;

printf("input a integer\n");

scanf("%d",&a);

//这里需要吸收 回车符 下面有种方法,第二种我没看懂 谁能改下代码 告诉我第二种怎么用

printf("input a char\n");

scanf("%1s",&b);

printf("%d %c\n",a,b);

system("pause");

return 0;

}

环境(dev c++)

测试结果

可以看出a的值异常了,为什么呢?

这应该和编译器有关系,因为%1s的输入方式的问题。

解决方法有两种:

第一:

char b;

int a;

将这两个变量的声明换一下,哈哈,以前老师说过。但我感觉着不是解决方法,如果还有其他的变量,这种方式是不是还会危害其他呢。

第二:

#include

int main(){

int a;

char b[2];

printf("input a integer\n");

scanf("%d",&a);

//这里需要吸收 回车符 下面有种方法,第二种我没看懂 谁能改下代码 告诉我第二种怎么用

printf("input a char\n");

scanf("%1s",&b);

printf("%d %c\n",a,b[0]);

system("pause");

return 0;

}

b声明成字符创的形式,哈哈,这个好。。。。

结果为:

以上这篇C语言中%c与%s的区别与划分详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

c语言中%s的作用,C语言中%c与%s的区别与划分详解相关推荐

  1. c语言中freopen函数,fopen和freopen_C中freopen和fopen的区别(用法+详解+区别)

    最佳答案 fopen 是操作文件用的,比如创建读取等,它有两个参数,第一个是文件名,第二个是操作方式. 第一个参数很好理解,因为是用来操作文件的,自然得告诉它要操作的是什么文件. 第二个参数也不难理解 ...

  2. C语言中fscanf的作用,C语言中fgets和fscanf区别详解

    搜索热词 C语言中fgets和fscanf区别详解 一.作用上的大概区别: ①fgets:从文件中读取一行数据存入缓冲区(fgets遇到回车才会结束,不对空格和回车做任何转换就录入到缓冲区,结束后再往 ...

  3. c语言中funx的作用,c语言中fun用法详解

    C语言中fun用法详解 fun函数是自定义的C/C++语言函数,函数功能多样.该函数名为"函数"英文function的简写,一般在示例和试题中使用,通常在主函数中被调用. C/C+ ...

  4. c语言中 amp 的作用,c语言中“amp;amp;”什么意思

    c语言中"&&"什么意思 在c语言中,"&&"是"与"."并且"的意思.它是逻辑运算符, ...

  5. c语言中argc的作用,C语言中 int main(int argc,char *argv[])的两个参数详解

    C语言中 int main(int argc,char *argv[])的两个参数详解 argc是命令行总的参数个数: argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数.命令行后面 ...

  6. 计算机各键的名称和作用,space是哪个键键盘各键位名称及功用详解

    摘要 腾兴网为您分享:space是哪个键键盘各键位名称及功用详解,之了课堂,云南移动,宜信,学堂在线等软件知识,以及winrar安卓,国泰君安大智慧5,邮政app,骑驴网,s2520打印机,b站,我的 ...

  7. c语言中argc的作用,C语言中main函数的参数argc和argv

    参考资料: C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* arg ...

  8. c语言中endif的作用,C语言中#ifdef,#ifndef和#endif的作用

    现在规定一下头文件书写规范, 根据陈皓编写的跟我一起些makefile,一定要记住:头文件中应该只是声明,而定义应该放在C/C++文件中.否则如果出现有定义,比如头文件中有int a =2;如果有多个 ...

  9. c语言中fopen的作用,c语言中fopen的用法

    在C语言中,fopen也是一个打开文件的函数.在C语言的命令窗口中输入doc fopen或者help fopen就可以获得该函数的帮助信息.下面小编就跟你们详细介绍下c语言中fopen的用法,希望对你 ...

最新文章

  1. sqlserver新增主键自增_深入Mysql,SqlServer,Oracle主键自动增长的设置详解
  2. 如何理解git的快照?
  3. 关于vc中Warning: skipping non-radio button in group的警告
  4. LINUX下直接使用ISO文件
  5. gdb调试时查看内存
  6. 程序员,如何摆脱平庸?
  7. Alpha 冲刺 (7/10)
  8. oracle体系结构和组件图示,Oracle 体系结构组件
  9. office漏洞利用--获取shell
  10. 吴恩达深度学习 —— 作业2
  11. 华成英模拟电子技术笔记(1)-绪
  12. MicroDicom viewer(Dicom格式看图软件) v3.4.7官方版
  13. 从傅里叶级数到傅里叶变换
  14. 魔兽争霸 java_魔兽争霸3Java问题
  15. nagios详细解说
  16. 线性代数复习总结——基本概念
  17. vison引擎中效果图形 - 体积锥体介绍
  18. 信创办公–基于WPS的PPT最佳实践系列 (插入表格或图标)
  19. 沁园春#183;咏史
  20. 国内常用的mysql中间件_常用的MySQL中间件网址汇总

热门文章

  1. Bootstrap弹出框(Popover)插件动态加载数据
  2. 新未来大学英语视听说教程
  3. Ansible安装及模块管理
  4. 完整生成一个云合同实例
  5. 二零二零,自己选的路,跪着也要走完
  6. mysql 子查询的排序问题
  7. html网页设计作业代码——代理商销售管理系统后台(8页) HTML+CSS+JavaScript web前端设计与开发期末作品_期末大作业
  8. 【信息科学技术与创新】数字世界 智能系统 人机交互 增强智能 虚拟化趋势与元宇宙浪潮 《元宇宙七大规则》
  9. html设计登黄鹤楼怎么搞,《登黄鹤楼》教学设计.docx
  10. 用chatgpt跟女友聊天