读书人

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

发布时间: 2013-06-26 14:29:32 作者: rapoo

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

读书人网 >C语言

热点推荐