用c++如何调用字符串比较函数
3个回答
展开全部
e循环。
因为while循环是在当括号内的表达式值为真的时候才进入,你的条件表达式不对,当然进不去。
2.关于“ 没有从 'const char *' 至 'int' 的转换”。
大家都知道字符比较实质上比较的是其ASCII值,这是一个0-255之间的整数。表达一个字符常量,应该用单引号括起来。你用双引号括起来,就是一个字符串常量,字符串用其首地址表示,所以编译器提示你不能把一个常量字符指针和整数做比较。
我写的代码如下:
#include <stdio.h>
char* remove (char *p) /*返回char*方便调用*/
{
while (*p == ' ') /*当指针指向的字符是空格时,把指针向后偏移。*/
{
p ++;
} /*至此,前面空格已经忽略掉了。*/
int i;
for (i = 0; p[i]; i ++)
if (p[i] == ' ') p[i] = '0'; /*把后面的空格改成0*/
return p;
}
int main () /*调用测试一下。*/
{
char a[] = " te st ";
printf ("%s\n", remove (a));
getchar ();
return 0;
}
因为while循环是在当括号内的表达式值为真的时候才进入,你的条件表达式不对,当然进不去。
2.关于“ 没有从 'const char *' 至 'int' 的转换”。
大家都知道字符比较实质上比较的是其ASCII值,这是一个0-255之间的整数。表达一个字符常量,应该用单引号括起来。你用双引号括起来,就是一个字符串常量,字符串用其首地址表示,所以编译器提示你不能把一个常量字符指针和整数做比较。
我写的代码如下:
#include <stdio.h>
char* remove (char *p) /*返回char*方便调用*/
{
while (*p == ' ') /*当指针指向的字符是空格时,把指针向后偏移。*/
{
p ++;
} /*至此,前面空格已经忽略掉了。*/
int i;
for (i = 0; p[i]; i ++)
if (p[i] == ' ') p[i] = '0'; /*把后面的空格改成0*/
return p;
}
int main () /*调用测试一下。*/
{
char a[] = " te st ";
printf ("%s\n", remove (a));
getchar ();
return 0;
}
展开全部
strcmp()可以
如果声明是string则可以直接使用>,<等关系运算符
如果声明是string则可以直接使用>,<等关系运算符
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一步,声明库函数头文件,如 #include <stdio.h>
第二步, 调用函数 int strcmp( const char *string1, const char *string2 );
返回值 比较结果
< 0 string1 小于 string2
0 string1 等于 string2
>0 string1 大于 string1
参数 说明
string1 字符串1
string2 字符串2
第二步, 调用函数 int strcmp( const char *string1, const char *string2 );
返回值 比较结果
< 0 string1 小于 string2
0 string1 等于 string2
>0 string1 大于 string1
参数 说明
string1 字符串1
string2 字符串2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询