C语言的谜题【1】

TraceBack:http://coolshell.cn/articles/945.html

#define PrintInt(expr) printf("%s:%d/n",#expr,(expr)); //输入helloworld,输出hellowo void test1(){ char dummy[100]; printf("Enter a string:/n"); scanf("%[^r]",dummy);//遇到r就结束 printf("%s/n",dummy); } int FiveTimes(int a){ int t; t=(a<<2)+a;//如果不加括号,则不对。因为对于a<<2这个位操作,优先级要比加法要低, //所以这个表达式就成了“t = a << (2+a)”, return t; } void test2(){ int a=1,b=2,c=3; PrintInt(FiveTimes(a)); PrintInt(FiveTimes(b)); PrintInt(FiveTimes(c)); } int main(int argc, char* argv[]) { //test1(); test2(); return 0; }

 

你可能感兴趣的:(C语言的谜题【1】)