C++11 无法显示字符串数组

C++11 无法显示字符串数组,c++11,g++4.8,C++11,G++4.8,当我尝试运行这段代码时,它编译时没有任何错误,但我希望它应该显示作为输入的字符串和int数组。相反,在给出一个输入后,我会看到一个零列表,程序将终止。 但是,当我从两个for循环中删除包含k[j]的行时,它就起作用了。 我做错了什么?对不起,如果你问我一些愚蠢的问题,因为我是新手,请帮助我 #include <iostream> #include <string> using namespace std; int main () { int t,count = 0; st

当我尝试运行这段代码时,它编译时没有任何错误,但我希望它应该显示作为输入的字符串和int数组。相反,在给出一个输入后,我会看到一个零列表,程序将终止。 但是,当我从两个for循环中删除包含k[j]的行时,它就起作用了。 我做错了什么?对不起,如果你问我一些愚蠢的问题,因为我是新手,请帮助我

#include <iostream>
#include <string>
using namespace std;
int main ()
{
int t,count = 0;
string state[t];
int k[t];
cin>>t;
for (int j=0; j<t; j++)
{
getline(cin, state[j]);
cin>>k[j];
}
for (int j=0; j<t; j++)
{ cout<< state [j]<<'\t'<<k[j];
  cout<<endl;

}
return 0
}
#包括
#包括
使用名称空间std;
int main()
{
int t,计数=0;
字符串状态[t];
int k[t];
cin>>t;
对于(int j=0;j>k[j];
}

对于(int j=0;j您声明了两个数组
k[]
state[]
,其中
t
此时未定义


t
应事先使用有效值启动!

提示:
cin>>k[j]在流中留下尾随的换行符。这里也可能会发现类似问题的问题。<代码> T < /C>不等于0,它的值是不确定的。读取它是未定义的行为。更不用说运行时大小的数组是非标准C++(它们是GCC扩展)的事实。@Angew verly..只有
count
设置为
0
。我更新了我的答案。