当前位置: 首页 > news >正文

10.18学习

1.c语言中格式说明符

 %d  或  %i :十进制整数( int  类型)。

 %u :无符号十进制整数( unsigned int  类型)。

 %x  或  %X :十六进制整数(使用小写或大写字母)。

 %o :八进制整数。

 %c :字符( char  类型)。

 %s :字符串( char  类型的数组或指针)。

 %f :浮点数( float  或  double  类型),默认精度为6位小数。

 %e  或  %E :科学计数法表示的浮点数(例如  1.2345e+02 )。

 %g  或  %G :通用浮点数表示,根据数值的大小自动选择  %f  或  %e 。

 %p :指针的值,通常以十六进制形式显示,并带有前缀  0x 。

 %n :读取的字符数(用于  scanf  等函数)。

★长度修饰符

 %h :短整型( short int )。

 %l :长整型( long int )。

 %ll  或  %I :长长整型( long long int ,C99标准)。

 %j :有符号整数类型,至少可以存储  intmax_t  值(C99标准)。

 %z :大小为  size_t  的整数(C99标准)。

 %t :大小为  ptrdiff_t  的整数(C99标准)。

 %L :长双精度浮点数( long double  类型)。

★精度修饰符

 .<number> :指定浮点数的精度,即小数点后的位数。

标志

 + :总是显示正负号。

 - :左对齐输出。

   (空格):显示空格代替正号。

 # :显示替代形式(例如,十六进制数的前缀  0x  或  0X ,八进制数的前缀  0 )。

 0 :用零填充空白位置。

示例

printf("Integer: %d\n", 10);

printf("Unsigned: %u\n", 10);

printf("Hex: %x\n", 10);

printf("Octal: %o\n", 10);

printf("Character: %c\n", 'A');

printf("String: %s\n", "Hello");

printf("Float: %f\n", 3.14159);

printf("Exponential: %e\n", 3.14159);

printf("General: %g\n", 3.14159);

printf("Pointer: %p\n", &i);

printf("Long int: %ld\n", (long int)10);

printf("Long long int: %lld\n", (long long int)10);

printf("Precision: %.2f\n", 3.14159);

 

2.scanf的用法

int scanf(const char *format, ...);

 format :一个格式字符串,指定了输入值的预期类型和顺序。

 ... :可变参数列表,表示要填充的变量的地址。

 scanf 函数会根据格式字符串中的格式说明符来读取输入,并将其转换为相应的数据类型,然后存储在提供的变量中。

注意事项

①scanf 函数返回成功读取的输入项数量,如果遇到错误或到达文件末尾,则返回 EOF 。

②使用 scanf 时,应该总是检查返回值,以确保输入成功。

③scanf 不会跳过空白字符,如空格、制表符或换行符。如果需要跳过这些字符,可以在格式字符串中使用空格。

④scanf 不检查变量的大小,如果输入的数据超出变量的存储能力,可能会导致缓冲区溢出。

⑤对于字符串输入, scanf 会在遇到空白字符时停止读取,因此如果输入中包含空格,应该使用 fgets 函数代替。

由于 scanf 的这些限制,现代C编程中更推荐使用 fgets 和 sscanf 等函数来处理输入,因为它们提供了更好的控制和安全性。


http://www.mrgr.cn/news/53379.html

相关文章:

  • 渗透测试导论
  • 爬虫——scrapy的基本使用
  • 物联网智能家居环境监测系统
  • 【解决办法】git clone报错unable to access ‘xxx‘: SSL certificate problem
  • 临时文件类
  • 人形机器人的关节控制
  • PAXOS协议:分布式系统中的一致性守护者
  • Python实现控制图分析
  • transformers 推理 Qwen2.5 等大模型技术细节详解(一)transformers 初始化和对象加载(文末免费送书)
  • Json-Rpc框架(项目设计 —— 客户端模块功能详细介绍)
  • 操作系统学习笔记-1.1操作系统的基本概念
  • React Componet类组件详解(老项目)
  • Linux内核 -- 高性能运算操作之 this_cpu_* 接口
  • 使用 Logback 配置日志记录
  • 穿越沙漠问题
  • 深入理解Mysql(一)
  • Hive优化:Hive的执行计划、分桶、MapJoin、数据倾斜
  • C++中的CRTP
  • Java 中的 String 字符串是不可变的
  • vb操作文件夹多电子表格 添加数据到数据库