strcmp的问题

[复制链接]
查看11 | 回复1 | 2011-6-28 09:44:07 | 显示全部楼层 |阅读模式
classCMyString
{
private:
        char*string;
public:
        CMyString(char*pstr=NULL)
        {
                string=newchar[strlen(pstr)1];
                strcpy_s(string,12,pstr);
        }
voidCompair()
        {
                chartemp;
                cintemp;
                intn;
                n=strcmp(
                if(n0)
                {
                        cout1endl;
                }
                elseif(n0)
                {
                        cout0endl;
                }
                else
                {
                        cout\"equal\"endl;
                }
        }
int_tmain(intargc,_TCHAR*argv[])
{
        CMyStringstr1(\"Hello\");
str1.Compair();
        return0;
}
为什么输入Hemlo和heklo结果都一样错在哪了求高手解释谢谢
回复

使用道具 举报

千问 | 2011-6-28 09:44:07 | 显示全部楼层
strcmp(constchar*,constchar*)的两个参数均为char*,但是你传入的第一个参数为b,是一个char类型的变量,因此报错。如果想改正的话可以传入defds123b,为参数一。不过看你的程序你应该是想统计字符‘a’在字符数组b[20]中出现的次数,如果是的话,建议判断条件修改为
f(b==’a‘)。另外,如果你传入defds123b,虽然能运行,结果也应该不正确,详情你可以看一下strcmp(constchar*,constchar*)函数的使用方法。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行