关于printf函数输出先后顺序的讲解!!

对于printf函数printf("%d%d\n",a,b);函数的实际输出顺序是这样的
先计算出b,然后在计算a,接着输出a,最后在输出b;
例子如下:
#include<iostream>
using namespace std;
int main()
{
 int i=3,j=5;
 printf("%d  %d\n",(i++)-(--j),j=(i+=2));
 printf("%d  %d\n",i,j);
  return 0;
}
     此题的执行过程如下;
   首先对于第一个printf先计算出j=(i+=2),这样此时i=i+2=5,j=5;
   接着计算(i++)-(--j)=(5)-(4)=1,注意在计算完之后令i++,及i=6;

时间: 2024-10-26 02:05:34

关于printf函数输出先后顺序的讲解!!的相关文章

C笔记01:关于printf函数输出先后顺序的讲解

关于printf函数输出先后顺序的讲解!! 对于printf函数printf("%d%d\n", a, b);函数的实际输出顺序是这样的先计算出b,然后再计算a,接着输出a,最后再输出b:例子如下: 1 #include<stdio.h> 2 int main() 3 { 4 int i=3,j=5; 5 printf("%d %d\n",(i++)-(--j),j=(i+=2)); 6 printf("%d %d\n",i,j);

c语言:请编程序将“China”译成密码,分别用putchar和printf函数输出这5个字符。

请编程序将"China"译成密码,密码规律是:用原来字母后面第4个字母代替原来的字母.分别用putchar和printf函数输出这5个字符. 程序: #include<stdio.h> int main() { char c1='C',c2='h',c3='i',c4='n',c5='a'; c1 += 4; c2 += 4; c3 += 4; c4 += 4; c5 += 4; printf("用printf输出密码为:%c%c%c%c%c\n", c

C语言中如何用printf函数输出百分号?

打两个%%..比如printf( "%%\n" );就可以输出一个百分号.同理,输出两个百分号的话就需要写四个. #include <stdio.h> int main(int argc, const char * argv[]) { printf("%%%%");//printf函数打印 % 字符要用 %% 才能打印 return 0; }

C/C++知识要点4——printf函数以及cout的计算顺序

printf函数的计算顺序:先从右到左压栈,然后从左到右出栈. 例程: #include"stdio.h" int main() { int arr[] = { 1, 2, 3, 4, 5 }; int *ptr = arr; printf("%d %d\n", *ptr, *(++ptr)); return 0; } 输出:2 ,2 计算顺序:先计算*(++ptr).进行压栈,然后计算*(ptr).再压栈. 注意:++ptr 和 ptr++ 的计算顺序.会导致不同

c语言中printf()函数中的参数计算顺序

今天看到了一个关于printf()函数计算顺序的问题,首先看一个例子: #include<stdio.h> int main() { printf("%d---%d---%d",printf("ab"),printf("c"),printf("eee")); } 输出结果为: 这说明printf()函数在计算的时候顺序是从右往左的,但最后输出的顺序是从左往右的.所以遇到类似题目时,应该根据运算顺序和输出顺序灵活判断

printf函数详细讲解

(1)简介: printf函数是c语言当中非常重要的格式化输出函数 其函数原型为:int printf(const char *format, ...); 其函数返回值:打印出的字符格式 其调用格式为:printf("<格式化字符串>", <参量表>); (2)转换说明: 转换格式为:%[标志][宽度][.精度][类型长度]类型 除了最后的类型之外都是可选的字段 标志 标志  意义 - 项目是左对齐的:也就是说,会把项目打印在字段的左侧开始处.示例:"

【C语言】浅谈可变参数与printf函数

一.何谓可变参数 int printf( const char* format, ...); 这是使用过C语言的人所再熟悉不过的printf函数原型,它的参数中就有固定参数format和可变参数(用"-"表示). 而我们又可以用各种方式来调用printf,如: printf( "%d ",value); printf( "%s ",str); printf( "the number is %d ,string is:%s ",

C 中 关于printf 函数中度剖析

题外话  这篇博文主要围绕printf函数分析的,主要讲解printf 使用C的可变参数机制, printf是否可重入(是否线程安全), printf函数的源码实现. 正文 1.C中可变参数机制 我们先举个例子,假如现在有这样一个需求 "需要一个不定参数整型求和函数". 具体实现代码如下 // 需要一个不定参数整型求和函数 int sum_add(int len, ...) { int sum = 0; va_list ap; va_start(ap, len); // 初始化 将ap

C语言中的printf函数的输入输出问题

这个问题是个很基础,但是我一直不知道的问题,是同学问了之后才知道的,长知识了. 这里要注意的是,printf函数是从右向左计算,从左向右输出. 距离如下: #include <stdio.h> main() { int i=8; printf%d, %d, %d, %d\n",i,--i,i,i--); } 此程序输出结果为:7, 7, 8, 8.原因是,printf()函数中,i++,i-- 时,i的值是在printf()函数之后才会被刷新,所以在printf()函数中,i++,i