【C语言 】——前置++,后置++,逗号表达式综合使用

如下题:

#include <stdio.h>
int main()
{
    
    
	int a, b, c;
	a = 5;
	c = ++a;
	b = ++c, c++, ++a, a++;
	b += a++ + c;
	printf("a = %d b = %d c = %d\n:", a, b, c);
	return 0;
}

A.a = 8 b = 23 c = 8
B.a = 9 b= 23 c = 8
C.a = 9 b = 25 c = 8
D.a = 9 b = 24 c = 8



分析如下:

#include <stdio.h>
int main()
{
    
    
	int a, b, c;
	a = 5;
	c = ++a;   
// ++a:加给a+1,结果为6,用加完之后的结果给c赋值,因此:a = 6  c = 6

	b = ++c, c++, ++a, a++;  
// ++c:c为7 c++:c值不变 ++a:a的值为7,a++:a值不变,b取a的值:7

// 表达式结束时,c++和a++会给a和c分别加1,此时c:8,a:8,b:7

	b += a++ + c; 
// a先和c加,结果为16,在加上b的值7,比的结果为23,最后给a加1,a的值为9

	printf("a = %d b = %d c = %d\n:", a, b, c); 
//    所以: a:9, b:23, c:8
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/cfk17829572643/article/details/111941765