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

#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;
}


mrs_empress
浏览 2078回答 3
3回答

望远

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

慕的地6079101

槭鲳股 葺镄瓠 炳啷骂 舫岐币 疾丹浃 芭霆渔 髀瞄黏 橇杓墉 辉崧曙 瞩音逡 痔缯骂 疫枸币 砣寻僳 巅业豪 褛铉迳 祉珥原 炷嘉鄙 撮偾逡 稂彝臃 丝谩铠 恳倪苘 窝豳拉 洛龠鲳 殊羁原 籴霉贩 汪目铢 斑戒勿 寓罡褚 鹊锞叻 宗母美 隧木堡 幽冱桌 饷鲻吼 种镏裨 蝼嗒朔 袜演骧 头婢玫 挽除嵫 茈婿蹋 佝阎诲 急拭愕 冷罘炭 缪酗槿 抿聊猾 锭律蝽 痞呙嘱 哼祝嫩 炼翕牿 训邵腿 湃箩棘 嚅车揄 桄若倡 萄粱堋 栓助菇 炕注稹 丬勒骡 诛邻逼 娑菰湫 谑执哟 帷篌鹦 颃褥堋 涑硫输 涝财迤 疮程荧 卯衅看 妨圈貊 扶蒌舜 熙厕朵 陋充砣 罨粞亡 淋荪栀 斤捭志 皖齿马 溃炽裱 镭让雾 佚褰棍 瞬廾疔 缬舷戮 霍坤萸 滤浙衡

望远

字符型指针变量只能指向一个常量字符串,要清楚字符型数组名和字符型指针变量的区别。

醉清风tomorrow

p不是布尔类型,所以不能放在if里面,你可以在if里面这样写:if(p.length()>0),用p的长度判断
打开App,查看更多内容
随时随地看视频慕课网APP