版权声明:本文为博主原创文章,转载请务必注明出处和作者,谢谢合作! https://blog.csdn.net/zhanshen112/article/details/83338208
1、判断多个数字是否相等?
不能使用下面这样的代码:
if(a==b==c==d){
……
}
编译器看不懂这样人类的表示方法,只能每两个进行判断:
if(a==b&&b==c&&c==d){
……
}
2、DEVc++ 中scanf和printf 的double类型与int不同
int i;
scanf("%d",&i);
printf("%d",i);
double i;
scanf("%lf",&i);
printf("%lf",i);
3、数组定义之后必须初始化,否则会出现你想不到的数字。
int sum[100001]={0};
4、动态数组如果不用malloc,根据用户输入确定数组大小的话。需要注意:
int n,i;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
如果有两个都需要赋值,其中一个又被另一个使用,必须分开赋值。同时赋值会出现错误。下面就是错误的。
int n,i,j;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++){
scanf("%d %d",&j,&a[j]);
}
应该先赋值给j,再赋值给a[j]。
int n,i,j;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++){
scanf("%d",&j);
scanf("%d",&a[j]);
}