rocki 发表于 2014-9-27 11:04
if 里面用 strlen 计算长度。。别用strcmp。这个比较的是ASCII码。。 不是字符数。 所以你用这个就会出现 ...
王庆功 发表于 2014-9-27 15:28
字符串比较大小,就是得比较ASCII啊。字符串比较大小可不是以长度作为依据的 ...
rocki 发表于 2014-9-27 20:35
比较ASCII码的话。 也就是是要逐一比较ASCII。 那你最后怎么去确定哪个字符串大? 难不成意思是字符串1 ...
复制代码
- #include <stdio.h>
- #include <string.h>
- // 宏定义
- typedef char * string;
- int main()
- {
- // 定义两个字符串变量
- string str1 = "acd";
- string str2 = "b";
- // 利用strcmp函数比较字符串大小
- if(strcmp(str1,str2) > 0)
- {
- printf("%s\n",str1);
- }
- printf("%s\n",str2);
- /*strcmp(s1,s2),如果串s1大于串s2,则结果大于0.如果小于,则结果小于零。如果等于,输出0
- 此题的输出str2的字符串,说明strcmp(str1,str2)是小于0的,即str1<str2。显然不是长度,而是因为a的ASCII码值小于b的
- */
- return 0;
- }
rocki 发表于 2014-9-27 20:35
比较ASCII码的话。 也就是是要逐一比较ASCII。 那你最后怎么去确定哪个字符串大? 难不成意思是字符串1 ...
星河鹭起 发表于 2014-9-27 16:39
没搞懂你这个字符串从小到大排序意思,既然不是比较长度,那是比较什么?? ...
小叶子 发表于 2014-9-27 15:43
野指针错误
这么修改就对了
王庆功 发表于 2014-9-28 09:55
谢谢你,错误就是在你说的地方。但是你的修改貌似有些问题吧,我改成了char temp[20],这样 ...
王庆功 发表于 2014-9-28 09:21
基础测试题都出到了这种程度?据我之前学的,字符串比较大小就是依次对s1和s2中对应位置上的字符两两 ...
王庆功 发表于 2014-9-28 09:21
基础测试题都出到了这种程度?据我之前学的,字符串比较大小就是依次对s1和s2中对应位置上的字符两两 ...
rocki 发表于 2014-9-28 12:49
也就是说。。。基础测试我做错了。。。老师没发现。。我累个擦。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |