赛尔号平民神宠打boss:关于一个C程序,让我困惑

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 06:59:25
char *p="abcdefgh";
p+=3;
printf("%d\n",strlen(strycp(P,"ABCD")))

运行结果是什么啊,并说明理由。

楼主的意思应该是用指针去和字符串“abcd”比较
你的函数写错了。比较是用strcmp,另外还有些大小写的问题。
建议我把你的程序完整一下么?

=================================

修改一下是:

#include <stdio.h>
#include <string.h>

void main()
{
char *p="abcdefgh";
p=+3;
printf("%d\n",strlen(strcmp(p,"abcd"))); //错误在strcmp比出来的不是字符串。strlen球不出来的。
}

什么叫内存泄露,懂不?

这个程序不好,有内存问题,返回结果如果程序没死掉的话是4。

呵呵,病毒。

strycp(P,"ABCD") 这里是写错了吧,正常应该是 strcpy
内存泄露到不见得,可能这个程序不能通过,因为
char *p="abcdefgh"; 声明的是一个常量指针.
具体是不是这样不刚肯定,因为我现在没有便衣器试运行.

运行结果是:4
p指向的字符串为:"ABCD"