第九天作业

您所在的位置:网站首页 概率论第四章作业答案 第九天作业

第九天作业

2023-07-12 06:52| 来源: 网络整理| 查看: 265

1.下面代码有什么错误? void test() {     char string[10];     char *str1="0123456789";     strcpy(string,str1); } 答:*str="0123456789"是在静态区取了十个字符,存放在string这个字符数组中。由于这个字符数组最多放十个字符,会导致strcpy函数无法添加'\0',在输出这个字符串时可能会导致越界访问。

2.请问以下代码有什么问题 int main() {     char a;     char *str=&a;     strcpy(str,"hello")     printf(str)     return; } 答:1.char a;a只能存储单字符。若要实现字符串应写成:char a[10];并修改下一句为char *str=a;2.printf(str)和strcpy(str,"hello")后缺少;;3.对字符串输出错误。应写成:puts(str);或者printf("%s\n",str);。 3. char *s="AAA"; printf("%s",s); s[0]='B'; printf("%s",s); 有什么错? 答:char *s="AAA"中的s存放的静态区的字符串常量"AAA"是只读的,无法改变;因此s[0]='B';错误;运行后会出现段错误。 4.下面是一段计算0~100累加和的代码。请指出这段代码中的错误。 int main() {     int *MyData;     int Count=100;     int Sum,i;     for(i=0;i         Sum+=*MyData;         MyData++;     }     return Sum; } 答:1.int *MyData;未对MyData这个指针进行初始化,是个野指针,使用野指针使会导致计算机混乱;2.for(i=0;i



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3