int main()
{
int s[10];
int i,max;
for(i=0;i<s;i++)
//报错:操作数类型不兼容(int,int*)
//虽然数组名代表数组第一个元素但这里不能这样用
//所以这里应把s替换为s[0]
}
int i;
for(j=2;j<sqrt((double)i);)
//sqrt内参数要为浮点类型,所以要强制类型转换,pow也是
int n;
int i,j,s=0;
cin>>n;
for(i=2;i<=n;i++)
{
for(j=1;j<=i/2;j++)
if(i%j==0) s+=j;//*
if(i==s) cout<<i<<' ';
s=0;//s必须要重置成0,不然下一次循环就是用*处的s做初值了
}
int n;
cin>>n;
int a[n]//error
//编译过不了 因为是只有在运行的时候才能获得n,但是编译的时候就要求已经给数组a分配固定的地址,这里无法获得n所以分配不了
int a[10];
a=1;//error,本意是给a[0]赋值为1,但赋值要求左边是变量,但a相当于&a[0],是一个常数所有无法赋值
定义宏的时候后面不要加分号
例#define m 100