#include<iostream>
#include<stdlib.h>
#include<string.h>
#include<math.h>
using namespace std;
/*
看CSAPP书时,看的头晕,直接写个程序验证一下,看起来直观多了。
*/
void typeConvert()
{
int a = 128;
char c = a;
printf("%d\n", c);// (-1)*2^8 = -128
a = 130;
c = a;
printf("%d\n", c);// (-1)*2^8 + 2 = -126
a = (int)pow(2, 30) + (int)pow(2, 16) + 2;
short b = a;
printf("%d\n", b);// b = 2
a = (int)pow(2, 30) + (int)pow(2, 15) + 2;
b = a;
printf("%d\n", b);// b = -32766 b = (-1)*2^15 + 1*2^1 = -32766
//printf("%d\n", a);// a = 32770 2^15 = 32768
unsigned short int d = a;
printf("%d\n", d); // d = 32770
a = (int)pow(2, 30) + (int)pow(2, 16) + 2;
d = a;
printf("%d\n", d); // d = 2
b = -2;
a = (int)b;
printf("%d\n", a);//a = -2
printf("%c\n", (char)a);// ?
printf("%c\n", -4);// ? char类型值小于0时 输出为?
unsigned int ua = b;
printf("%d\n", ua); // ua = -2
ua = (unsigned int)b;
printf("%d\n", ua);//ua = -2
}
void test_ctrlZ()//ctrl+z结束输入流
{
int a;
while(cin >> a)
cout << a << " ";
}
int main()
{
//typeConvert();
test_ctrlZ();
return 0;
}