c语言中字符数组能否直接相互比较
比方说两个字符数组str[1],str[2],我不用strcmp(str[1],str[2]),我直接这样str[1]>str[2]行不行?...
比方说两个字符数组str[1],str[2],我不用strcmp(str[1],str[2]),我直接这样str[1]>str[2]行不行?
展开
2个回答
展开全部
首先你要了解字符串的存储机制
字符串表示的是一连串的字符型地址空间
至于str则是这个字符串的首地址
在计算式上str[1]>str[2]本身是没有错误的,但是要看他能不能达到你所期望的目的
比如字符串str="abcdefg"
那么针对这个字符串的str[1]>str[2]这个比较式的意义就是
取第2个字符和第3个字符做比较,'b'>'c'字符型的比较会返回他们的ASI值进行比较 因为b在字符上排列是在C之前,所以'b'>'c'返回的是假值
这个计算式得到的是false
字符串表示的是一连串的字符型地址空间
至于str则是这个字符串的首地址
在计算式上str[1]>str[2]本身是没有错误的,但是要看他能不能达到你所期望的目的
比如字符串str="abcdefg"
那么针对这个字符串的str[1]>str[2]这个比较式的意义就是
取第2个字符和第3个字符做比较,'b'>'c'字符型的比较会返回他们的ASI值进行比较 因为b在字符上排列是在C之前,所以'b'>'c'返回的是假值
这个计算式得到的是false
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询