【发布时间】:2016-11-25 13:00:35
【问题描述】:
我正在开发一个程序,其中用一维字符串覆盖二维数组的一部分是算法的必要条件。
应该进行覆盖的部分如下:
char twoD[MAX][MAX];
int top=2;
int main(){
char arr[MAX];
func(arr);
}
void func(char newArr[]){
strcpy(twoD[++top], newArr);
}
其中twoD 和top 是全局变量。
每当程序到达这个部分时,它就会崩溃。
【问题讨论】:
-
错误是什么?什么是预期的输入/输出?
-
什么是
MAX?请出示minimal reproducible example。 -
错误是:“程序已停止工作”。一些预期的输入:(5+3)*(7-3)。
-
strcpy旨在复制以空字符结尾的字节字符串:此处数组的内容未初始化,因此字符串不是以空字符结尾的。正如@user3121023 建议的那样,试试char arr[MAX] = {'\0'}; -
我尝试初始化它。现在它在函数调用时崩溃了!