\r只是将光标移动到行首
\n只是将光标移动到下一行
上面的都不会改变已经输出的字符,即\r不会删除字符,\n也不会将后面的字符改到下一行,都仅仅是光标的移动而已。
printf输出和我们在文本 *** 作里面的回车不一样的。
自己写很麻烦,涉及机器内浮点数写法定义(IEEE 754 浮点数表示法),涉及10进制到2进制,再由2进制转10进制转换和截断误差。
投机取巧办法如下:
#include <stdioh>
main()
{
float x=1234;
char str[30];
int i,L;
sprintf(str,"%g",x);
L = strlen(str);
for (i=0;i<L;i++) putchar(str[i]);
return 0;
}
当你输入“12
s“时,
b的值就是一个未初始化的值,具体值要看当前栈上是什么数据,总之就是一个不确定的值。最重要的一点,b的值并没有因为scanf("%d
%d,
&a,
&b);这条语句而发生变化。
你可以在定义b的地方给b一个初始值,比如5:
int
a,
b=5;
然后运行程序,输入“12
s“,你会发现输出b的值,仍然为5
Systemoutprintf("%d,%s", f1,",");//第19行
^ ^
出现逗号 再次出现逗号
printf("for(i=1;i<=100;i++)\n\tscanf(\"%d\",&a);");
见到换行用\n代替,见到跳格用\t代替,见到双引号用\"代替
covert函数的参数是一个整数指针,作用是将指针指向的区域的值先返回(!),然后将那块区域的值加1;
在main函数中两次调用covert函数,第一次将data的地址传递给covert函数,于是data的值加1,变成57,第一次调用的返回值是56,但是并没有使用,因此第一个printf输出值是57;
第二次同样把data的地址传递给convert函数,这次调用同样是使data的值加1,变成58,covert函数的返回值是57;但是“data = convert(&data);”导致data被赋值为convert函数的返回值57,因此第二个printf输出值同样是57。
以上就是关于C语言打印输出函数printf问题全部的内容,包括:C语言打印输出函数printf问题、printf函数浮点数的输出、c语言问题 如果我向一个整型变量输入字符 printf输出的是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)