- 2.易错点1
- 3.易错点2
- 4.易错点3
- 5.易错点4
- 6.易错点5
- 6.易错点5
在我们使用scanf语句的时候很多刚刚入门的朋友,在刚刚接触这条语句的时候容易犯下面这个错误,使用scanf("%d",&n) 一定要加一个&(取地址符)。
错误使用方法:
#includeusing namespace std; int main() { int n; cin>>n; scanf("%d",n); printf("%d",n); return 0; }
正确使用方法:
#include3.易错点2using namespace std; int main() { int n; cin>>n; scanf("%d",&n); printf("%d",n); return 0; }
大家可以在这段代码中找一下错误的地方:
错误使用方法:
#includeusing namespace std; void main() { int a; cin>>a; cout< 其实这里的错误是很难发现的,在c++中规定主函数的返回值必须是int,这段代码中写的是void显然是错误的。
正确使用方法:
#includeusing namespace std; int main() { int a; cin>>a; cout< 4.易错点3 大家可以在这段代码中找一下错误的地方:
错误使用方法:
#includeusing namespace std; int main() { int n,sum; cin>>n; for(int i=1;i<=n;i++) { sum=sum+i; } cout< 这段代码应该很好发现是在求1到n的和,为什么说这样做是错误的呢,因为我们局部变量的初始值不一定等于0,是一个随机数。
正确使用方法:
#includeusing namespace std; int main() { int n,sum=0; cin>>n; for(int i=1;i<=n;i++) { sum=sum+i; } cout< 一定要记得给我们的求和变量设置一个初始值。
5.易错点4大家可以在这段代码中找一下错误的地方:
错误使用方法:
#includeusing namespace std; int main() { int a,b; cin>>a>>b; if(a=b) { cout<<"yes"; } else { cout<<"no"; } return 0; } 这里也是一个非常容易错误的地方,很多时候在使用赋值符号=和关系运算符==的时候容易使用错误。有的编辑器是不会报错的,在检查代码的时候也很难发现自己错误的地方。
正确使用方法:
#includeusing namespace std; int main() { int a,b; cin>>a>>b; if(a==b) { cout<<"yes"; } else { cout<<"no"; } return 0; } 在这里一定要正确认识赋值符号和关系运算符:
6.易错点5
赋值符号:=
关系运算符:==大家可以在这段代码中找一下错误的地方:
错误使用方法:
#includeusing namespace std; int main() { int a,b,c; cin>>a>>b>>c; if(a>b>c) { cout< 这段代码是在判断a是否是最大值,这里为什么是错误的呢,在c++中如果直接写a>b>c,最后的结果可能是错误的,因为关系运算符 ==, !=, >, <, >=, <=返回值是0和1,如果正确就是1错误就是0,直接写a
正确使用方法:
#includeusing namespace std; int main() { int a,b,c; cin>>a>>b>>c; if(a>=b&&b>=c) { cout< 6.易错点5 大家可以在这段代码中找一下错误的地方:
错误使用方法:
#includeusing namespace std; int main() { int a[10]; for(int i=0;i<=10;i++) { cin>>a[i]; } for(int i=0;i<=10;i++) { cout< 这里错误的原因,需要多数组有一定的了解,在定义数组的时候 int a[10], 这里面的常量10是数组的长度。数组下标的取值范围是0-9,最大的一个下标是数组长度减1 。
正确使用方法:
#includeusing namespace std; int main() { int a[10]; for(int i=0;i<10;i++) { cin>>a[i]; } for(int i=0;i<10;i++) { cout< 持续更新中!



