這些值正確地存儲在「arr」中,但垃圾值被存儲在「str」中。我不懂爲什麼。我檢查過很多次,這對我來說似乎是正確的。這些值正確存儲在「arr」中,但垃圾值正在存儲在「str」中。我不明白爲什麼
#include <iostream>
using namespace std;
int main() {
int test,n,arr[50],str[20][20],i,j,k;
t = 0;
j = 0;
cin>>test; //test cases
while(test>0){
cin>>n; //number of elements in a test case
for(i=0;i<n;i++)
cin>>arr[i]; //array of elements
for(i=0;i<n;i++){
cout<<"arr = "<<arr[i]<<"\n";
str[i][j] = arr[i]; // storing arr in str
}
cout<<"\n";
str[i+1][j] = 0;
j++;
test--;
}
for(i=0;i<j;i++){
for(k=0;str[i][k]!=0;k++)
cout<<<<str[i][k]; // printing str
cout<<"\n";
}
return 0;
}
你應該用你的調試器,並期待在值。 –
我正在查看所有值,值正確存儲在「arr」中,但是當我打印「str」時,正在顯示垃圾值。我認爲在爲str分配值時我犯了一些錯誤。 –
您不應在其他'char'數組中使用'0'作爲空終止符。 –