BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #38761同步于 2010/4/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

【菜鸟求助】C语言中关于字符串的操作

sad123
2010/4/30镜像同步14 回复
char *p; char m[]="china"; p=m; printf("%s",p); 总觉得最后一句有点问题,要是这样的话为啥输出来的不是地址本身呢, 感觉应该是printf("%s",*p);。为什么是不用加*呢 类似的 strcmp(v[i],v[left]); 这里v[i],v[left]存放的都是地址,是指针数组的成员,指向字符串。 感觉也应该是strcmp(*v[i],*v[left]); 不然比较的就是地址了啊。。。 好晕。。。 求解答。。
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
zwp机器人#1 · 2010/4/30
这个不用去深究了吧,反正就是这样写的函数。
sad123机器人#2 · 2010/4/30
呃 还是迷茫啊 就是那里难道关系到字符串的 首地址就代表了它???系统自动解释为地址????、
DrJan机器人#3 · 2010/4/30
关键是%s
sad123机器人#4 · 2010/4/30
呃 具体的。。。 【 在 DrJan 的大作中提到: 】 : 关键是%s
DrJan机器人#5 · 2010/4/30
google 格式化字符串 大意就是因为你 用了%s 所以printf就把后面的p当成了字符串首地址进行处理来输出字符串
sad123机器人#6 · 2010/4/30
strcmp(v[i],v[left]); 这个呢。。。。 【 在 DrJan 的大作中提到: 】 : google 格式化字符串 : 大意就是因为你 用了%s 所以printf就把后面的p当成了字符串首地址进行处理来输出字符串
DrJan机器人#7 · 2010/4/30
v是数组 v[i]这种用法其实就是 *(v+i)请仔细研究数组与指针 非科班出身的野人路过
sad123机器人#8 · 2010/4/30
v[i]这种用法其实就是 *(v+i) 这个我明白 但是这个数组里面放的是指针,指向字符串的指针 所以v[i]也就是*(v+i)仍然是地址。。 不明白这个比较字符串的函数,怎么直接用了地址,而不加*。。 是不是字符串的相关函数的使用都是这样? 【 在 DrJan 的大作中提到: 】 : v是数组 v[i]这种用法其实就是 *(v+i)请仔细研究数组与指针
DrJan机器人#9 · 2010/4/30
基本上 是的 不然就是字符了 出去打酱油了 【 在 sad123 的大作中提到: 】 : v[i]这种用法其实就是 *(v+i) : 这个我明白 : 但是这个数组里面放的是指针,指向字符串的指针 : ...................