搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 请问char *p=s;与char *p;*p=s;有什么区别?
标题:
请问char *p=s;与char *p;*p=s;有什么区别?
只看楼主
lqlayy
等 级:
新手上路
帖 子:100
专家分:0
注 册:2007-3-15
楼主
问题点数:0 回复次数:5
请问char *p=s;与char *p;*p=s;有什么区别?
int strlen(char *s)
{
char *p;
*p=s;
while(*p!='\0')
p++;
return(p-s);
}这个编译时出错
int strlen(char *s)
{
char *p=s;
while(*p!='\0')
p++;
return(p-s);
}
这个编译正确?
我相问问请问char *p=s;与char *p;*p=s;有什么区别?
搜索更多相关主题的帖子:
char
2008-04-30 13:43
lqlayy
等 级:
新手上路
帖 子:100
专家分:0
注 册:2007-3-15
第
2
楼
得分:0
我想通了,原来char *p=s;相当于是char *p;p=s;哈哈
学习编程的秘诀是:编程,编程,再编程;
2008-04-30 13:49
mqh21364
等 级:
新手上路
帖 子:642
专家分:0
注 册:2008-2-28
第
3
楼
得分:0
char *p=s;
等价于char *p; p=s; 就是给指针变量p赋值;
char *p;*p=s;
而这个却是给指针p指向的变量赋值s;
所以你的第一个程序是错的,因为你试图把一个指针变量赋给一个字符变量。
前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-04-30 13:52
qspy
等 级:
新手上路
帖 子:7
专家分:0
注 册:2008-4-25
第
4
楼
得分:0
指针定义一般定义:
char *p = NULL; //NULL为空指针
对指针空间赋值:
*p = 0; //p指针所指空间设为0
在你的程序中,p和s同为指针,可以直接传递
修改:
int strlen(char *s)
{
char *p;
p=s; //将*去掉,OK
while(*p!='\0')
p++;
return(p-s);
}
2008-04-30 13:53
lqlayy
等 级:
新手上路
帖 子:100
专家分:0
注 册:2007-3-15
第
5
楼
得分:0
谢谢大家了
学习编程的秘诀是:编程,编程,再编程;
2008-04-30 14:04
张信哲
等 级:
新手上路
帖 子:139
专家分:0
注 册:2008-4-3
第
6
楼
得分:0
我以一颗中国心,表达我的爱国情
相信自己,学无止尽。
2008-04-30 16:53
6
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-211767-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.219054 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved