在C++中,我试图创建字符串数组。同时,我想访问字符并改变它们像这样:C++字符串数组和访问字符
#include<iostream>
using namespace std;
int main(){
int n;
cin >> n;
char lines[4][n+1];
int color = 0;
for(int a = 0; a < n; a++){
for(int i = 0; i < 4; i++){
lines[i][a] = (char) (color % 25 + 97);
if(i == 1 || i == 3){
color++;
}
}
}
cout << lines[0] << endl << lines[1] << endl << lines[2] << endl << lines[3];
return 0;
}
时,我想它打印所有的“行[I]”似乎有一些未知字符。
预期:
交流励磁发电机
交流励磁发电机
bdfh
bdfh
输出:(http://i.stack.imgur.com/SR4Y4.png)
aceg'aceg■bdfh
交流励磁发电机■bdfh
bdfh
bdfh
你知道原因吗? (我检查了我的整个代码多次,它导致我不知道我认为的字符数组阵列)
有没有其他方法可以做到这一点? (如果可能的话没有用C喜欢它的库)
编辑
我说我所有的代码此消息。
您需要了解“想要打印”的内容。 –
字符串以null结尾... –
欢迎来到Stack Overflow。请尽快阅读[关于]页面。请说明如何打印阵列。除非你做了一些你没有看到的东西,把它们打印出来就好像它们是字符串一样,会显示出你看到的那种行为。既然你不显示任何代码改变'颜色',你应该在每个单元格中获得相同的值(''a'')。当你忽略代码的关键部分时,人们会感到沮丧 - 缺少代码时很难帮助你。请阅读如何创建SSCCE([简短,独立,正确的示例](http://sscce.org/))。 'n'的价值是什么? –