C语言strcpy函数刷题

碰到一个题,求大佬解答...
题:
char sl[ ]="string1",s2[8], *s3, *s4="string2";,则对系统函数strcpy的错误, 调用是()
A. strcpy(s1, "string1")
B. strcpy(s4, "string2")
C. strcpy("string2",s2)
D. strcpy(s3, "string1")
这4个选项我在编译器上跑代码,只有A选项不报错,其他3个都报错。但是这是单选题,求解到底哪个是错误的调用啊?

阅读 2.3k
2 个回答

A是对的,B应该也不会错,

C是错的,s2没有初始化,其长度不确定。

D是错的,s3没有初始化。

A 正确

B 错误,字符串常量(s4)是不可修改的

C 错误,字符串常量("string2")是不可修改的

D 错误,指针(s3)没有初始化

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进