首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言的小疑点·有个困惑,帮帮忙啦~

2013-06-26 
C语言的小问题···有个困惑,帮帮忙啦~~char* p abchhhchar* q abcd像上面这样定义两个字符串常量

C语言的小问题···有个困惑,帮帮忙啦~~


char* p = "abchhh";
char* q = "abcd";

像上面这样定义两个字符串常量,想要比较两个字符串的大小,直接p == q,p > q,p < q这样比较,是不可以的,现在想问下,这样比较的话,是怎么执行的呢?比较的究竟是什么呢?
[解决办法]
比较的是指针的地址哦。
[解决办法]
请看strcmp的代码。
[解决办法]
char* p;定义的是一个指针,p指向的是存放数据的地址,你这样比较是做地址的比较的
[解决办法]
直接这样比较是,比较地址的
欢迎 http://jobexam.net
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

比较的是指针的地址哦。

哦。。。那指针在分配地址的时候,如果像这样定义的话:

p = "abc";
q = "abc";

指针p和q会分配同样的地址么?

不会,分配不一样的地址,你可以打出来看。

地址是不一样,可以是我发现如果像上面那样定义,这样比较:p == q的话,返回值就会返回为真,这究竟是怎么回事呢?

p和q是相等的,但是给p和q分配的地址是不相等的,p==q,but &p!=&q

热点排行