#include "stdio.h" #define SQ(s) s*s void main(){ int i=2; while(i<=5) printf("%5d",SQ(i++)); }
主要是宏定义的问题SQ(i++)相当于 i++i++的意思i++是先用i运算,再i加1,按说应该是相当于ii,然后i=i+1,i=i+1,最后输出4 和 16啊。你是什么编译器啊