【发布时间】:2019-02-05 11:14:47
【问题描述】:
经过多年的 matlab,我正在重新学习 C++。这是我写的一些代码
char couts[3][20]={"Area of Rectangle: ","Area of Triangle: ","Area of Ellipse: "};
char C[20];
for (int i = 0; i < 3; i++) {
C=couts[i];
cout << C;
//code that calculates and couts the area
}
显然,这是打印该行 couts 的错误方法,但在尝试了许多变化和谷歌搜索之后,我无法弄清楚我做错了什么。 :(
【问题讨论】:
-
你需要
strcpy(C, couts[i]);,但是当你使用C++时,你应该使用std::string,而不是使用旧的C函数,比如strcpy等。对于原始数组也是如此,使用相当标准的容器,例如std::array、std::vector等。 -
char* C;可以让你做你想做的作业……但是为什么不直接输出呢? (std::cout << couts[i];) -
如果你不想修改字符串:
char const* const couts[3] = { ... }; char const* C;