为了账号安全,请及时绑定邮箱和手机立即绑定

​strchr的用法,能帮我看一下,为什么不可以运行?

​strchr的用法,能帮我看一下,为什么不可以运行?

C
mrs_empress 2016-11-17 10:11:10
#include <stdio.h> #include <string.h> int main(){     char *s;     char *p;     scanf("%s",s);     p=strchr(s,'a');     if(p)         printf("%s",p);     else         printf("Not Found!");     return 0; }
查看完整描述

3 回答

已采纳
?
望远

TA贡献1017条经验 获得超1032个赞

在编程过程中如果只涉及到对字符串的读取,那么字符数组和字符指针变量都能够满足要求;如果有写入(修改)操作,那么只能使用字符数组,不能使用字符指针变量。 (字符型指针变量指向一个字符串常量,内容不可修改) char *s; scanf("%s",s);//非法操作
查看完整回答
反对 回复 2016-11-17
?
望远

TA贡献1017条经验 获得超1032个赞

字符型指针变量只能指向一个常量字符串,要清楚字符型数组名和字符型指针变量的区别。
查看完整回答
反对 回复 2016-11-17
?
醉清风tomorrow

TA贡献64条经验 获得超48个赞


p不是布尔类型,所以不能放在if里面,你可以在if里面这样写:if(p.length()>0),用p的长度判断

查看完整回答
反对 回复 2016-11-17
  • mrs_empress
    mrs_empress
    没有用耶,而且strchr的经典例子中代码如下 #include <stdlib.h> #include <stdio.h> #include <string.h> main() { char *s="Golden Global View"; char *p; p=strchr(s,'V'); if(p) printf("%s\n",p); else printf("Not Found!\n"); return 0; }
  • 3 回答
  • 0 关注
  • 2077 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信