超级女声唱红莓花儿开:关于一个C程序,让我困惑
来源:百度文库 编辑:高校问答 时间:2024/05/22 01:58:16
char *p="abcdefgh";
p+=3;
printf("%d\n",strlen(strycp(P,"ABCD")))
运行结果是什么啊,并说明理由。
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"