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];
}
才对
谢谢,希望对大家有用