++a先自加再赋值
a++先赋值(运算)再自加
三目运算符y=x++>70?x+y:5//x没有自加之前是否大于70,若大于则y=x+y;否则y=5,
int x=10,y=9; int a,b,c; a=(x==y)?--x:++y;//x不等于y,执行++y,先自加再赋值给a,所以a=10 b=x++;//先赋值再自加所以b=10 c=y;//y刚刚已经自加,所以c=10
char ch='A';
printf("%c %d\n"ch,ch);//运行结果 A 65
int a=255;
printf("%d %o %X"a,a,a);分别打印的是十进制的255 255转八进制的值 255转十六进制的值
char s[]="abcde";
printf("%s\n",s);//打印结果是abcde
float a=1.23456;
printf("%9f %9.2f %.3f\n",a,a,a);//9代表长度为9,.2代表保留2位小数点
char s[]="Hello World!"//长度12
printf("%15s %15.5s %2.5s\n",s,s,s);
运行结果如下(空格用_代替)
___Hello world!
__________Hello
Hello后面没东西
ch=get char() 在括号里面按下CTRL+Dch会等于-1
所有的提示语句建议用printf单独写一行
n=scanf("%x",&ch);//x表示输入的数字是十六进制的 正确输入n等于1否则为0
scanf("%4d %2d %2d",&nian,&yue,&ri);//加上422以后他会自动给你分隔给到输入变量,例如输入20020101 nian=2002 yue=1 ri=1
scanf在整形输入下空格 tab 回车都是合理的换行符
输入垃圾处理:有时候想输入回车空格,就在两个scanf函数之间加上一个getchar()
或者用%*c来吃掉垃圾字符