c++ int函数printf()输出几个整数?
作者&投稿:浑豪 (若有异议请与网页底部的电邮联系)
执行int a=1; printf("%d, %d, %d
", a, ++a, a++)的结果为3,3,1。这个语句的输出结果不是唯一的,因为对于求值的顺序是不一定的,所以说还有可能输出的结果为1,2,2。
当求值的顺序为自右向左是,那么a++先引用1然后再加1,会输出1,然后++a是先加1再引用,会输出3这个结果,最后输出一下a,结果为3。结果为:3,3,1。
当求值的顺序为自左向右的话,先输出一下a,输出1,然后++a,先加1再引用,输出2,然后a++先引用再加1,引用2,所以输出2,结果为:1,2,2。
主要就是要注意:printf()语句多个参数的执行顺序,从右往左的,但是不同编译器可能不同。
扩展资料:
printf参数表的注意:
参量表是需求输出的一系列参数,其个数务必与式样化字符串所阐明的输出参数个数一样多,各参数之间用英文逗号“,”分开,且顺序逐一对应,不然将会出现意想不到的错误。
printf使用注意:
函数printf从右到左压栈,然后将先读取放到栈底,最后读取的放在栈顶,处理时候是从栈顶开始的,所以我们看见的结果是,从右边开始处理的。(会因编译器的不同而不同,但是大部分一样)
printf函数格式:
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。
函数的原型为:
int printf(const char *format,…);
参考资料来源:百度百科-printf()
兴柿德天: printf的格式控制的完整格式:% - 0 m.n l或h 格式字符 下面对组成格式说明的各项加以说明:①%:表示格式说明的起始符号,不可缺少.②-:有-表示左对齐输出,如省略表示右对齐输出.③0:有0表示指定空位填0,如省略表示指定空位不填...
东胜区15937658462: 《求解》c语言 函数 printf 介绍 - ?
兴柿德天: p rintf函数这个功能很简单.调用p rintf函数,可以把整型、实型、字符型数据输出到显示器上.但是必须符合p rintf函数 的格式, p rintf函数的格式: p rintf (格式控制,输出 表列) ;初学者掌握其功能和使用格式就ok
东胜区15937658462: 编写一个程序,使用printf()方法显示各种类型的数据 - ?
兴柿德天: printf函数的一般形式为:int printf(const char *format,[argument]); 以上形式,我们在Visual C++里输入“printf(”将会看到.说明printf函数类型为整型,其返回值是整型值.其值实际为printf控制输出的字符数.printf()函数实际上是将所有参数按字符输出,根据该函数的参数1(const char *format),我们不难理解.例如:int a,b;a=printf("gelin\n"); //a的值为6,b=printf("the value of printf is:%d",a); //b的值为24 printf("\n%d\n",b);
东胜区15937658462: 关于C++中printf - ?
兴柿德天: printf函数的返回值是输出的元素个数,所以printf("%d",i)输出了43,返回值是2(因为43是两个数字);printf("%d",printf("%d",i));就是输出2的值,此时返回值是1(因为2是1个数字);printf("%d\n\n",printf("%d",printf("%d",i)));就输出了1了.最终的结果就是4321
东胜区15937658462: 如何用C C++编写一个printf函数 - ?
兴柿德天: writeconsole(getstdhandle(std_output_handle),str,strlen(str),&num,0)可以将str的内容输出,如果不需要格式化输出的话可以这样写 void printf(char*str) { writeconsole(getstdhandle(std_output_handle),str,strlen(str),&num,0); }
东胜区15937658462: c++里面可以用printf语句吗 - ?
兴柿德天: 如果楼主要是学习c++就尽量别用printf, 用cout输出这样可以加深对C++输出流的理解和应用. 但是一旦你使用熟练了.如果要去解决问题. 个人还是比较喜欢在C++中使用printf,因为printf在输出大量的数据的时候,会体现出它的优势. 就是printf()的输出比cout快,特别你程序如果有大量的输出的时候. 同理scanf()的输入也比cin块,特别程序中有大量的输入的时候,所以语言就是一个工具,熟悉了工具之后,就选择自己喜欢的,既然C++兼容C为什么不用效率高的输入输出哪, 但是小规模数据,差别不大.
东胜区15937658462: C++怎么使用调用函数? - ?
兴柿德天: 比如: int abc() {printf("--输出信息\n---"); }void aaa(int a,int b) {printf("a+b=%d",a+b); }void main() {abc(); //调用abc()函数aaa(); //调用aaa函数 }
东胜区15937658462: C++语言 对printf函数如何实现保留小数点后一位的效果 - ?
兴柿德天: #include #include using namespace std; int main(int argc, _TCHAR* argv[]) { double i = 123.2534343; printf("%.2f\n", (float)i); // 此处是典型的C风格的处理方法,在C++下不推荐使用 cout << setprecision(5) << i << "\n" << endl; // 此处是指...
东胜区15937658462: printf函数参数入栈 - ?
兴柿德天: 这个现象确实存在,但并非在printf()函数中要先执行函数的原因.这可以用下面的代码作试验,证明不是这个原因. #include "stdio.h"//. int Add1(int *p){return(*p+=1); } void main(void){int a=1;printf("[%d] [%d]\n",Add1(&a),a); } 这...
东胜区15937658462: Printf()谁告诉我这个函数的具体意思,可以 举例说明一下吗??
兴柿德天: printf()函数在C语言中用来支持显示格式化的字符串的内容,并且可以在字符串指定位置插入可能变量的值.printf()只向标准输出流中写输出. printf()的语法是printf("格式串", 表达式1,表达式2,......) 实例: int i = 10, j = 20; float x = 43.2143567, y = 557.0; printf("i = %d, j = %d, x = %f, y = %f\n", i, j, x, y); 输出显示是:i = 10, j = 20, x = 43.214356, y = 557.000000