strcmp和atoi区别
请问下面两个语句的不同:
//定义ss[i],ss[j]
if(strcmp(ss[i],ss[j])>0)
和
if(atoi(ss[i])>atoi(ss[j]))
这两个比较语句的结果是一样的效果吗?
有什么不同吗
谢谢
问题点数:0、回复次数:6Top
1 楼zhengmushang(pretty)回复于 2005-04-02 22:13:50 得分 0
求救Top
2 楼nasi00(莫傲·逍遥)回复于 2005-04-02 22:20:20 得分 0
atoi()是把char*变成int,比如int i = atoi("123"); 的话, i=123了。 而strcmp()是比较两个字符串的,当然不同了。Top
3 楼zhengmushang(pretty)回复于 2005-04-02 23:46:38 得分 0
这两个比较语句的结果是一样的效果吗?Top
4 楼xjp6688(大平/要做必须最好)回复于 2005-04-03 00:41:42 得分 0
#include <string.h>
#include <stdio.h>
#include "iostream.h"
int main(void)
{
char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";
int ptr;
ptr = strcmp(buf2, buf1);
if (ptr > 0)
printf("buffer 2 is greater than buffer 1\n");
else
printf("buffer 2 is less than buffer 1\n");
ptr = strcmp(buf2, buf3);
if (ptr > 0)
printf("buffer 2 is greater than buffer 3\n");
else
printf("buffer 2 is less than buffer 3\n");
system("pause");
return 0;
}
--------------------------------------
buffer 2 is greater than buffer 1
buffer 2 is less than buffer 3
请按任意键继续. . .
Top
5 楼xjp6688(大平/要做必须最好)回复于 2005-04-03 00:42:33 得分 0
#include "iostream.h"
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int n;
char *str = "12345.67";
n = atoi(str);
printf("string = %s integer = %d\n", str, n);
system("pause");
return 0;
}
----------------------------------
string = 12345.67 integer = 12345
请按任意键继续. . .
Top
6 楼Wolf0403(废人:独活十年~心如刀割)回复于 2005-04-03 09:33:01 得分 0
除非进行数字的值比较,否则应使用 strcmp 对字符串进行比较。通常而言,0 == strcmp (...) 这个比较用于判断两个字符串是否相同。其它的比较意义不大(对于非 ASCII 编码的文本,也许返回的大小是非特定的)Top




