分类：电脑/网络-程序设计-C/C++
问题：为什么我在定义变量时,漏掉地址运算符"&",TurboC2.0不? 
　　 　　 在中,为什么我在定义变量时,漏掉地址运算符"&".我用Turbo C 2.0编译此程序时,为什么编译器不报错?(我执行的是Run命令)而执行时又不能定义变量.变量是几个随机数,每次都是这样.程序如下:main(){int a,b,c,d;printf("\nPlease input two integer and delimited with space:") ;scanf("%d%d",a,b) ;c=a; d=b;printf("%d,%d",c,d);getch();}  
回答：先声名，你的错误应该是在scanf函数中，而不是在变量声名的地方。
你的问题的关键在于scanf函数和C语言的自动转换机制。scanf函数的原形是
int scanf    (const char *format, ...);
可以看到后面的参数中并没有明确的指出参数的类型，这交给了函数内部的代码来处理，所以C的编译器其实对scanf函数后面的参数究竟是什么不太关心，它只关心形式是否正确而已。所以编译的时候也就不会出错了。