实惠的制作网站,烟台建设工程信息网站,成品短视频app的优势,wordpress单页工作室主题printf()是输出函数#xff0c;scanf()是输入函数#xff0c;但是它们的工作原理几乎相同。两个函数都使用格式字符串和参数列表。 printf()函数的格式
printf( 格式字符串, 待打印项1, 待打印项2,…);待打印项1、待打印项2等都是要打印的项。它们可以是变量、常量#xff…printf()是输出函数scanf()是输入函数但是它们的工作原理几乎相同。两个函数都使用格式字符串和参数列表。 printf()函数的格式
printf( 格式字符串, 待打印项1, 待打印项2,…);待打印项1、待打印项2等都是要打印的项。它们可以是变量、常量甚至是在打印之前先要计算的表达式。格式字符串是双引号括起来的内容。
例如printf(“The %d contestants ate %f berry pies.\n”, number, pies);
注意格式字符串中的转换说明一定要与后面的每个项相匹配若忘记这个基本要求会导致严重的后果。
printf()的转换说明修饰符 sizeof运算符以字节为单位返回类型或值的大小。这个大小应该是某种形式的整数但标准只规定该值是无符号整数。在不同的实现中它可以是unsigned int、unsigned long甚至是unsigned long long。因此如果要使用printf()函数显示sizeof表达式根据不同系统可能需要使用%u、%lu或%llu。这就意味着要查找当前系统的用法如果将程序移植到不同的系统可能需要进行修改。
鉴于此C提供了更好可移植性的类型。首先stddef.h头文件在包含stdio.h头文件时已包含其中将size_t定义为系统使用sizeof返回的类型这被称为底层类型underlying type。其次printf()使用z修饰符表示打印相应的类型。同样C还定义了ptrdiff_t类型和t修饰符用来表示系统使用的两个地址差值的底层有符号整数类型。 float类型
对于浮点类型有用于double和long double类型的转换说明却没有float类型的。这是因为在KR C中表达式或参数中的float类型值会被自动转换成double类型。printf()函数中所有float类型的参数对未使用显式原型的所有C函数都有效仍自动转换成double类型。因此无论是KR C还是ANSI C都没有显示float类型值专用的转换说明。 printf()的返回值
大部分C函数都有一个返回值这是函数计算并返回给主调程序calling program的值printf()函数也有一个返回值它返回打印字符的个数。如果有输出错误printf()则返回一个负值printf()的旧版本会返回不同的值。不过该函数的返回值基本不会用到。
看这个例子打印“hello world”返回12结束符和空格各占1个字节。 打印长字符串
在一些大公司里为了方便阅读代码规范对每一行代码的长度有要求例如linux内核规定一行不超过80字符那我们就要换行了。
如下图如果是逗号后面换行无所谓如果是双引号内直接换行就会报错。 一种方法是**加反斜杠 **但是这种方法需要顶格不然会有多余空白。 还有一种方法是拆成多个双引号括起来的字符串。 scanf函数
scanf()中的格式字符串表明字符输入流的目标数据类型。
例如scanf(“%s”, pet);
就是将键盘输入的字符串保存到pet这个变量里pet是个char类型的数组字符串格式用%s。
简单记住两条规则
用scanf()读取基本变量类型的值在变量名前加上一个
用scanf()把字符串读入字符数组中不要使用。
是取址符。 C99标准中常用的转换说明