c语言中,prinf输出涉及变量自加时,如何确定输出值?

作者&投稿:务振 (若有异议请与网页底部的电邮联系)
C语言中在改变输出变量的值,造成printf输出结果不同。自加运算~

这个东西很编译器环境有很大的关系。其实没必要太过深究其中的原理。
printf语句里如果有表达式的话,是从右向左开始运算的,输出的时候是从左向右输出。
printf("%d,%d
",k++,k);先执行k,再执行k++。输出的时候先输出k++再输出k的结果
printf("%d,%d
",k,k++);先执行k++再执行k,输出的时候先输出k再输出k++的结果

这个数字的值本身是保存在变量n里
如果说要获取输出的十六进制结果,实际上是一个字符串
获取这个结果可以使用 sprintf 输出到字符串

#include

int main(void)
{
int n = 256;
char s[100];

sprintf(s, "%0x", n);
}

这就将printf输出到屏幕的内容存放到了字符串s里

第一,我们自己写程序时,一定不要这样写!太坑人了
第二,不同的机器printf取变量的顺序有可能不同,有从左向右的,有从右向左的,这样其结果不同!
第三,根据你的运行结果,可知你的机器输出取变量时是从右向左的,分析如下:
先取变量c++ , 此时c=7, 输出7后,c=c+1=8
再取c 输出8
再取b 输出6
再取++b , 此时b=6,前++要求先运行b=b+1=7,再输出,结果是7

输出是7 6 7 7吧?你是不是搞错了
看输出格式,++b,b在++的右面所以先+1再输出b=7;
而b的话输直接输出6,
c的话同上;
c++因为c在左边所以直接输出!
即输出7 6 7 7

%d 整数 格式
一个对应一个
++b 等于 b+1
c++ 等于c 但此时
b 与c 各为7 8

还是看看书实在


printf是c语句吗
printf不是c语句,Printf是标准库里的函数。语言的语句用来向计算机系统发出操作指令。一个语句经编译后产生若干条机器指令。C语句都是用来完成一定操作任务的。printf命令的作用是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。printf()函数的调用格式为:printf(“<格式化字符串>”,<参量表>...

printf是不是c语言中的函数?
这句话是不对的,因为%c只能够输出单个字符,%s表示的是输出字符串,所以说这句话是错误的。printf()函数是式样化输出函数, 一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为:printf(“<式样化字符串>”,<参数表>);。其中式样化字符串包括两...

计算机c语言中printf表示什么意思
计算机c语言中printf表示换行。C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一...

c语言中printf什么意思?
c语言中printf的意思是将你要输出的信息输出到屏幕上。格式是:如printf(“It's OK!”);意思是在黑屏上看到It's OK!这条语句。

c语言中,printf,print,input,都表示输出,他们有什么区别
print--是函数,可以返回一个值,只能有一个参数。用起来最简单 printf--函数,把文字格式化以后输出,直接调用系统调用进行IO的,他是非缓冲的。input--是从指定的已经打开的文件里面读取。如:$name="hunte";$age=25;printf("my name is %s, age %d", $name, $age);sprintf--跟printf相似,...

在C语言中,当使用用printf输出一个字符串时,数据项是?
参数列表 format -- 是格式控制字符串,包含了两种类型的对象:普通字符和转换说明 [1] 。在输出时,普通字符将原样不动地复制到标准输出,转换说明并不直接输出而是用于控制 printf 中参数的转换和打印。每个转换说明都由一个百分号字符(%)开始,以转换说明结束,从而说明输出数据的类型、宽度、精度...

c语言中 printf 怎么读?什么意思啊???
printf -- 读 拍林特 爱夫.print -- 打印,印刷 的意思 f -- format, formated 的缩写, 意思是 "按格式" "有格式".printf() 是C语言里的标准输出函数, 向默认设备(屏幕)按格式打印输出.语句:printf("格式描述",被输出的变量表);格式描述 -- 描述如何打印:印多少位,空多少格,换行...被...

C语言中printf的使用格式
printf("输出格式",输出参数表列);输出格式是指你想怎样输出你要输出的内容。c语言提供了许多种格式串控制字符,比如%d是按整数输出,%f是按照浮点数输出,%s是一次性输出整个字符串等等等,还有一种格式控制字符是以“\\”开头,后面跟相应字母组成的,比如\\n是输出内容后换一行等等。输出参数表列就是...

C语言中,“ printf("%5.2F", x)”?
小数点前面的数字表示输出列数 数字位数大于它时,按实际位数输出,小数点前空缺也是 小数点后面的数字表示输出的小数点位数,如果位数不足就会四舍五入,如果位数不够显示就会在后面补0.比如x=12.31913 则printf("%5.2f",x)就是“12.32”,注意小数点也算一位数长!又如x=2.31913 则printf("%...

printf()中% c和% f是什么含义?
d %f是打印变量的类型。d是整数类型。用来输出十进制整数,按整型数据的实际长度输出。f是浮点类型(就是含小数点的,默认为6位)\\n是表示回车,即,转到下一行。它的意义多表现在有多个printf的时候,为了不混淆,一般每个printf的内容占一行。C语言中对于不同类型的数据用不同的格式字符,%d %f是...

盱眙县19449584392: c语言中,prinf输出涉及变量自加时,如何确定输出值? -
贰桑硫酸: 第一,我们自己写程序时,一定不要这样写!太坑人了 第二,不同的机器printf取变量的顺序有可能不同,有从左向右的,有从右向左的,这样其结果不同!第三,根据你的运行结果,可知你的机器输出取变量时是从右向左的,分析如下:先取变量c++ , 此时c=7, 输出7后,c=c+1=8 再取c 输出8 再取b 输出6 再取++b , 此时b=6,前++要求先运行b=b+1=7,再输出,结果是7

盱眙县19449584392: 在C语言里,printf怎么输出2个变量? -
贰桑硫酸: 要输出两个变量:用逗号隔开即可,%d是整数的输出标识符,标识符和变量的顺序是相对应的, 输出2个变量的代码修改: { int a,b,c,sum,sum1; a=10; b=20; c=30; sum=a+b; sum1=a+b+c; printf ("sum=%d/nsum1=%d/n",sum,sum1); } 扩...

盱眙县19449584392: C语言怎么用printf输出字符串. -
贰桑硫酸: void main() { unsigned char *x = "ab,sdf,sad,23432,cc"; data = x;printf("data = %c\n", *data); printf("data = %s\n", data); system("pause"); } 扩展资料: printf输出字符串的一些格式 1、原样输出字符串:printf("%s", str); 2、输出指...

盱眙县19449584392: c语言在中的printf函数,为什么他的输出列表可以是一个数组名(即一个地址),而通常见到的都是变量名. -
贰桑硫酸: 去网上搜一下printf()函数的原型.我记不太清了. printf()函数的输出是由格式化控制符来控制的,它本身不知道你要输出的是什么类型的数据,所以这个函数设计为能够使printf()得知应该知道你输出的是哪种类型的数据,因此而设立一...

盱眙县19449584392: C语言中在改变输出变量的值,造成printf输出结果不同.自加运算 -
贰桑硫酸: 这个东西很编译器环境有很大的关系.其实没必要太过深究其中的原理.printf语句里如果有表达式的话,是从右向左开始运算的,输出的时候是从左向右输出.printf("%d,%d\n",k++,k);先执行k,再执行k++.输出的时候先输出k++再输出k的结果 printf("%d,%d\n",k,k++);先执行k++再执行k,输出的时候先输出k再输出k++的结果

盱眙县19449584392: C 语言中的格式化输出函数printf()能否使用变量作为修饰符控制输出格式? -
贰桑硫酸: 不可以啦!这里的%后面紧跟的一个字符,%和这个字符结合起来,就是设计后面的输出数的格式.比如:printf("%4d",a);这里的4是对精度的控制.在c语言中有固定的搭配,如果这里的4用引用变量替换,它将会代表另一种含义,这里可以去查表,但肯定的是与你想要输出的不一样!绝对!

盱眙县19449584392: C语言中怎么获取printf输出的值 -
贰桑硫酸: 这个数字的值本身是保存在变量n里 如果说要获取输出的十六进制结果,实际上是一个字符串 获取这个结果可以使用 sprintf 输出到字符串#include <stdio.h>int main(void) {int n = 256;char s[100]; sprintf(s, "%0x", n); }这就将printf输出到屏幕的内容存放到了字符串s里

盱眙县19449584392: C语言中printf的使用格式 -
贰桑硫酸: printf("输出格式",变量名);这就是最简单的用法#include "stdio.h" void main() { int a; printf("please input a number:\n"); scanf("%d",&a); printf("%d\n",a); } 最简单的关于printf例子

盱眙县19449584392: 在C语言中 prinf("%5d\n",&a)是什么意思?怎么用? -
贰桑硫酸: prinf("%5d\n",&a) 表示使用printf函数将变量a的地址以十进制的方式打印出来,打印时,数据宽度至少5个字符,右对齐,如果数字没有达到5个,就在左边补空格,如果数字个数大于5个,则按照实际数字个数打印.最后,打印一个换行符.

盱眙县19449584392: C语言中参数传递和变量自加... A:int b=0;printf("%d %d %d %d %d,",b,++b,b,b++,b); 结果为1 1 1 0 1 -
贰桑硫酸: 图上面是我用code::blocks编译通过的结果,我只想说,些微的区别和编译器是相关的,c语言是从右往左执行的.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网