网站无后台可以上框架,织梦可以做移动网站吗,咨询类网站建设方案书,制作社交app的网站题目分析下面代码有什么问题#xff1f;void test2()
{ char string[10], str1[10]; int i; for(i0; i10; i) { str1 a; }
strcpy( string, str1 );
} 解答代码无法通过编译。因为数组名str1为 char *const类型的右值类型#xff0c;根本不能赋值。即使想对数组的第…题目分析下面代码有什么问题void test2()
{ char string[10], str1[10]; int i; for(i0; i10; i) { str1 a; }
strcpy( string, str1 );
}
解答代码无法通过编译。因为数组名str1为 char *const类型的右值类型根本不能赋值。即使想对数组的第一个元素赋值也要使用 *str1 a; 对字符数组赋值后使用库函数strcpy进行拷贝操作strcpy会从源地址一直往后拷贝直到遇到0为止。所以拷贝的长度是不定的。如果一直没有遇到0导致越界访问非法内存程序就崩了。修改方案void test2()
{char string[10], str1[10];int i;for(i0; i9; i){str1[i] a;}str1[9] 0;strcpy( string, str1 );
}
相关知识点C 字符串C 库函数 - strcpy()C 标准库 - string.h