首页 > 编程 > C++ > 正文

c++易错的地方

2019-11-06 07:38:03
字体:
来源:转载
供稿:网友

1.字符串

#include<bits/stdc++.h>using namespace std;char a[100];int main(){ int n; scanf("%d",&n); gets(a); puts(a);}

如果代码是这个的话会发现会有错误,但是看不出来。 只有这样才是对的

#include<bits/stdc++.h>using namespace std;char a[100];int main(){ int n; scanf("%d",&n);getchar(); gets(a); puts(a);}

要换行否则就会不执行gets语句,如果不换行就只能是

#include<bits/stdc++.h>[/size]using namespace std;char a[100];int main(){ int n; scanf("%d",&n); scanf("%s",a); puts(a);}

在需要用到循环来输入字符串时会发生的错误 比如输出n 代码如下

#include<bits/stdc++.h>using namespace std;char a[100];int main(){ gets(a); for(int i=1;i<=strlen(a);i++) cout<<a[i]; }

这样子就会出错了,他就不会输出第一个字符了,因为字符串是从0开始读起的 这个代码喜欢for(int i=1;i<=n;i++)这么用for的人容易出错 要这么写

#include<bits/stdc++.h>using namespace std;char a[100];int main(){ gets(a); for(int i=0;i<strlen(a);i++) cout<<a[i]; }

才对

谢谢,希望对大家有用


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选