day9作业
发布日期:2023-09-13 22:17:27 浏览次数:4 分类:技术文章

本文共 945 字,大约阅读时间需要 3 分钟。

1.字符串连接

#include 
#include
#include
void my_strcat(char *dest, char *src){ int i=0; for(i=0; *(dest+i)!=0; i++); for(int j=0; *(src+j)!=0; j++) { *(dest+i)=*(src+j); i++; } *(dest+i)=0;}int main(int argc, const char *argv[]){ char s1[50]=""; char s2[20]=""; printf("请输入字符串1:"); gets(s1); printf("请输入字符串2:"); gets(s2); my_strcat(s1,s2); puts(s1); return 0;}

2. 找代码错误

(1)
void test(){	char string[10];	char *str1="0123456789";	strcpy(string,str1);}

str1 有11个字节(以'\0'结尾),而string只有10个字节,越界

(2)
int main(){	char a;	char *str = &a;	strcpy(str,"hello");	printf(str);	return 0;}

str 是 一个字符变量指针所指地址,"hello"是一个字符串,会越界

printf();使用格式不对

(3)
char *s="AAA";	printf("%s",s);	s[0]='B';	printf("%s",s);

指针s 指向字符串常量地址,是s[0]='B'; 段错误,不可以修改只读区的内容

(4)
//下面是一段计算0....100累加和的代码,指出错误int main(){	int *MyData;	int Count=100;	int Sum, i;	for(i=0; i

for(i=0; i<Count; i++)  无法实现1~100的累加

int *MyData 是野指针,指向随机位置,通过循环大量使用,会使计算机混乱。

思维导图:

 

转载地址:https://blog.csdn.net/zjt020305/article/details/131666848 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:day9作业
下一篇:day9jiayou

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2023年09月10日 13时17分19秒