标题:这个 warning是咋回事儿啊?
取消只看楼主
Oscar_0049
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-6-29
 问题点数:0 回复次数:1 
这个 warning是咋回事儿啊?

函数fun()的功能是将字符串s中位于偶数位置的字符或ASCII码为奇数的字符放入字符串t中(规定第一个字符放在第0位中)
例如输入ADFESHDI,应输出AFESDI
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define N 80
void fun(char s[],char t[])
{
int i,j=0;
for(i=0;i<strlen(s);i++)
if(i%2==0||s[i]%2!=0)
t[j++]=s[i];
t[j]='\0';
}

void main()
{
char s[N],t[N];
printf("\nPlease enter string s:");
gets(s);
fun(s,t);
printf("\nThe result is:%s\n",t);
}

可以运行,但有个warning:请大家指教

E:\C\mn6'.c(8) : warning C4018: '<' : signed/unsigned mismatch

mn6'.obj - 0 error(s), 1 warning(s)

搜索更多相关主题的帖子: warning 字符 include void fun 
2007-07-16 15:19
Oscar_0049
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-6-29
得分:0 
以下是引用星星鱼虾蟹在2007-7-16 16:12:34的发言:
要不加个强制类形转换吧,将

for(i=0;i<strlen(s);i++)
改为:
for(i=0;i<(int)(strlen((const char *)s));i++)

我用的是VC.改为for(i=0;i<(int)strlen(s);i++)后可以了,谢谢啊!
只是:难道strlen(s)不是整型么?还要强制定义一下


如果不能改变环境,那就要适应环境!
2007-07-17 12:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-155780-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057702 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved