本文目录
printf 输出整数的问题
#include《stdio.h》int add(int low,int high){ int i,sum=0;//sum应该初始化为0 for (i=low;i《=high;i++) sum=sum+i; return sum;}int main(void){ int result; result=add(1,10); result=add(1,100); printf("%d,%d\n",result); return 0;}
直接使用printf()的格式输出八进制数和十六进制数,程序如下:
%d:输出十进制%x:十六进制输出%o:八进制输出 至于(10)和(8)只是标注是什么进制的。《=》只是一个普通告诉你两者的“转换符号”而已。是普通字符串,没有含义。输出144和64(截图)
printf输出的结果是什么
输出结果为:3,E。
解析:C语言中的字符类型是用 ASCII 码存储运算的,运算 c2-c1时,等于 ’e’-’b’,等于’e’的 ASCII 码 101 - ’b’的 ASCII 码 98,等于 3 ,又因为 printf 输出式样化字符串中使用规定符%d输出,所以是直接输出整型数据 3。
而运算 c2-’a’+"A"等价于 ’e’-’a’+"A",等价于’e’的ASCII 码-’a’的ASCII 码+"A"的ASCII 码=’E’的ASCII 码。而printf 输出式样化字符串中使用规定符%c输出结果,说以是输出字符 E。
因此,最终输出结果为:3,E。
扩展资料:
输出规则及相关规律:
%d:要求输出十进制有符号整数
%u:要求十进制无符号整数
%o:无符号以八进制表示的整数
%g:把输出的值按照%e或者%f类型中输出长度较小的方式输出
数字的ASCII 码按0到9顺序递增。
字母的ASCII 码按A到Z顺序递增。
几个常见字母的ASCII码大小: “A”为65;“a”为97;“0”为 48
参考资料来源:百度百科-printf()
printf()输出什么类型的数据
1、%d 十进制有符号整数。
2、%u 十进制无符号整数。
3、%ld 输出long整数 。
4、%s 字符串。
5、%c 单个字符。
6、%p 指针的值。
7、%e 指数形式的浮点数。
8、%x, %X 无符号以十六进制表示的整数。
9、%0 无符号以八进制表示的整数。
10、%g 自动选择合适的表示法。
扩展资料
精度指定:
* d、o、i、 u、x 或 X 转换的最少数字显示位数。
* e 和 f 转换的基数字符后的最少数字显示位数。
* g 转换的最大有效数字位数。
* s 转换中字符串的最大打印字节数目。
包含需要输出的数据,可以是常量(字符常量、数字常量、字符串常量),变量,以及运算式。此处的数据应当与前面的format中的格式控制符一一对应(如果不对应会产生错误)。
参考资料来源:百度百科:printf()函数