在这段代码中,我尝试输入一个数字和一个字符串t
次,但它在第二次迭代时发出运行时错误。
输入:
2
2 6
10 11
运行时错误时间:0内存:3436信号:11
2 6 6
请帮我删除此错误。 我已经为整数和字符串输入使用了优化输入。
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
inline int getint(){
int num=0;
char c=getchar_unlocked();
while(!(c>='0' && c<='9'))
c=getchar_unlocked();
while(c>='0' && c<='9'){
num=(num<<3)+(num<<1)+(c-'0');
c=getchar_unlocked();
}
return num;
}
inline void read_string(char *str){
char c = 0;
int i = 0;
while(!(c>='0' && c<='9'))
c=getchar_unlocked();
while (c != '\n'){
str[i] = c;
c = getchar_unlocked();
i = i + 1;
}
str[i] = '\0';
}
int main() {
int t,A,i,j;
char b[255];
scanf("%d",&t);
while(t--){
A = getint();
cout<<A<<" ";
read_string(b);
string B(b);
cout<<b<<" "<<B<<endl;
}
return 0;
}