一道关于指针的题目

108. 若有定义:char str1[6]="abcdm",*ps,*str2="abcdef";( )是正确的。 A. strcpy(str1,str2); B. 表达式strcmp(str1,str2)的值大于0 C. str1=str2; D. 表达式strlen(str1)的值为6 想知道一下每个选项都为什么,
2026年09月28日 01:24
有3个网友回答
网友(1):

A. strcpy(str1,str2); //错误。str1没有空间存放连接的字符串。
B. 表达式strcmp(str1,str2)的值大于0 //正确!
C. str1=str2; //错误。字符串赋值要用strcpy函数。
D. 表达式strlen(str1)的值为6//错误。值为5,结束符不算。

网友(2):

B是正确的。 A.strl1只有6个字节空间,而要拷贝的str2需要7个字节的空间(注意要考虑'\0')
B.正确
C.这样赋值不正确,应该用strcpy
D.应该为5才对

网友(3):

B中就是两个字符串对应的字母进行,首字母和首字母比较,一次后推。比较的是ASCII码值,哪个ASCII码值大,那个字符串就大,为正,小,为负,相等为0