#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//int main()
//{
// char s = 5;
// int a = 10;
// printf("%u\n", sizeof(s = a + 2));//%u-打印无符号整型
// printf("%d\n", s);
// return 0;
//}
//算术转换
// 向字节长的,精度高的去转换
//long double
//double
//float
//unsigned long int
//long int
//unsigned int
//int
//int main()
//{
// int a = 4;
// float f = 4.5;
// a + f;//a要转换为float类型
// return 0;
//}
//操作符的属性
//1.操作符的优先级
//2.操作符的结合性
//3.是否控制求值顺序 1.逻辑与&&//2.逻辑或||//3.条件操作符?://4.逗号,
//int main()
//{
// int a = 4;
// int b = 3;
// int c = a + b * 7;//优先级决定了计算顺序
// int d = a + b + 8;//优先级不起作用,结合性决定了顺序
// return 0;
//}
//int main()
//{
// //问题表达式
// //1.a*b+c*d+e*f
// //2.c+ --c 加号左边的操作数是在--c前准备的还是在--c后准备的
// //
// return 0;
//}
//int main()
//{
// int i = 10;
// i = i-- - --i * (i = -3) * i++ + ++i;
// printf("i=%d\n", i);
// return 0;
//}
//int fun()
//{
// static int count = 1;
// return ++count;
//}
//int main()
//{
// int answer;
// answer= fun() - fun()* fun();
// printf("%d\n", answer);//-10=2-3*4
// //不知道三个fun函数谁先用
// return 0;
//
//}
//int main()
//{
// int i = 1;
// int ret = (++i) + (++i) + (++i);
// printf("%d\n", ret);//vs-12//gcc-10
// return 0;
//}
//int main()
//{
// 00374500 push ebp
// 00374501 mov ebp, esp
// 00374503 sub esp, 0D8h
// 00374509 push ebx
// 0037450A push esi
// 0037450B push edi
// 0037450C lea edi, [ebp - 18h]
// 0037450F mov ecx, 6
// 00374514 mov eax, 0CCCCCCCCh
// 00374519 rep stos dword ptr es : [edi]
// 0037451B mov ecx, offset _F8BBD04B_test5_3@c(037C003h)
// 00374520 call @__CheckForDebuggerJustMyCode@4 (0371316h)
// int i = 1;
// 00374525 mov dword ptr[i], 1
// int ret = (++i) + (++i) + (++i);
// 0037452C mov eax, dword ptr[i]
// 0037452F add eax, 1
// 00374532 mov dword ptr[i], eax
// 00374535 mov ecx, dword ptr[i]
// 00374538 add ecx, 1
// 0037453B mov dword ptr[i], ecx
// 0037453E mov edx, dword ptr[i]
// 00374541 add edx, 1
// 00374544 mov dword ptr[i], edx
// 00374547 mov eax, dword ptr[i]
// 0037454A add eax, dword ptr[i]
// 0037454D add eax, dword ptr[i]
// 00374550 mov dword ptr[ret], eax
// printf("%d\n", ret);//vs-12//gcc-10
// 00374553 mov eax, dword ptr[ret]
// 00374556 push eax
// 00374557 push offset string "%d\n" (0377BD4h)
// 0037455C call _main(03710CDh)
// 00374561 add esp, 8
// return 0;
// 00374564 xor eax, eax
//}
//00374566 pop edi
// 00374567 pop esi
// 00374568 pop ebx
// 00374569 add esp, 0D8h
// 0037456F cmp ebp, esp
// 00374571 call __RTC_CheckEsp(037123Fh)
// 00374576 mov esp, ebp
// 00374578 pop ebp
// 00374579 ret