我有一段示例代码,并想知道如何更改输出。
#include <iostream>
using namespace std;
int main(){
int input;
string stat[2];
stat[0] = "a";
stat[1] = "b";
int j = 0;
int h = 0;
int i = 0;
while(h < 4){
i=0;
cout << stat[0] << endl;
cout << stat[1] << endl;
string stat[2];
stat[0] = "c";
stat[1] = "d";
cout << stat[0] << endl;
cout << stat[1] << endl;
h++;
}
}
目前的输出是: A,B,C,d,A,B,C,d,A,B,C,d,A,B,C,d,A,B,C,d
我想要的输出是: A,B,C,d,C,d,C,d,C,d,C,d,C,d,C,d,C,d,C,d
答案 0 :(得分:1)
我修改了你的程序,现在它可以运行了:
#include <iostream>
using namespace std;
int main()
{
string stat[2] = {"a","b"};
int h = 0;
while(h++ < 4)
{
cout << stat[0] << endl;
cout << stat[1] << endl;
stat[0] = "c";
stat[1] = "d";
cout << stat[0] << endl;
cout << stat[1] << endl;
}
}
问题在于,在while循环中,您声明了一个新的字符串数组,其外部数组的名称相同,因此删除了对第一个数组的引用。最后我删除了i和j因为你没有使用它。
答案 1 :(得分:0)
删除循环中的第二个字符串
while(h < 4){
i=0;
cout << stat[0] << endl;
cout << stat[1] << endl;
stat[0] = "c";
stat[1] = "d";
cout << stat[0] << endl;
cout << stat[1] << endl;
h++;
}