malloc分配了公共的空间
#include "stdio.h" #include "stdlib.h" int main(){ int *a,*b,*c; a=b=c=(int*) malloc(sizeof (int)); *a=1,*b=2,*c=3; printf("%d,%d,%d",*a,*b,*c); }
#include "stdio.h" int main(){ char y=010; // 0 开头,八进制 printf("%d\n",y>>1); }
<<与 ^运算符
#include "stdio.h" int main(){ char a=3,b=6,c; c=(a^b)<<2; //^取不相同的 ,<< 二进制数左移两位 printf("%d",c); }
z只被赋值一次
#include "stdio.h" int main(){ int x,y,z; x=y=1; z=x++,y++,++y; printf("%d,%d,%d\n",x,y,z); } z=x++;z只被赋值一次
分清楚是%d还%c
#include "stdio.h" int main(){ char c1,c2; c1='A'+'8',-'4'; c2='A'+'8'-'5'; printf("%c,%d\n",c1,c2); }
#include "stdio.h" int main(){ int x=1,y=0; if(!x) y++; else if(x==0) if(x) y+=2; else y+=3; printf("%d\n",y); }
i++ 先赋值再+,++i 先+再赋值
#include "stdio.h" int main(){ int y=9; for(;y>0;y--) if(y%3==0) printf("%d",--y); }
#include "stdio.h" int main(){ int i,j,m=1; for(i=1;i<3;i++) { for(j=3;j>0;j--) { if(i*j>3)break; m*=i*j; } } printf("m=%d\n",m); }
#include "stdio.h" int fun(int x,int y) { if(x!=y) return((x+y)/2); else return (x); } int main(){ int a=4,b=5,c=6; printf("%d\n",fun(2*a,fun(b,c))); }
#include "stdio.h" int main(){ int n,*p=NULL; p=&n; printf("Input n:"); scanf("%d",p); printf("output n:"); printf("%d\n",*p); }