注册 登录
编程论坛 C++教室

麻烦帮我看下这个程序有啥问题,刚学c++不怎么会,谢谢

闪光点覅给 发布于 2015-10-19 17:01, 459 次点击
#include<iostream>
using namespace std;
int main(){
    char s1[20],s2[20];
    puts(s1);
    puts(s2);
        int r,i;
        for(i=0;s1[i]!='\0'&&s2[i]!='\0';i++){
            if (s1[i]>s2[i]){
                return r=1;
                cout<<"r= "<<r<<endl;
            }
            else if(s1[i]<s2[i]){
                return r=-1;
                cout<<"r= "<<r<<endl;
            }
            else
                continue;
    }
    if(s1[i]=='\0'&&s2[i]=='\0'){
        return r=0;
        cout<<"r= "<<r<<endl;
    }
    else if(s1[i]!='\0'&&s2[i]=='\0'){
        return r=1;
        cout<<"r= "<<r<<endl;
    }
    else
        return r=-1;
        cout<<"r= "<<r<<endl;
    return 0;


}
4 回复
#2
ITCD2015-10-19 22:05
照书写的还是自己写的?
#3
yangfrancis2015-10-20 07:58
return语句是要为main函数给出返回值吗?如果只是想给r赋值,是不能要"return"的。其实这个程序没有什么实际意义,你的s1, s2都没有赋值,执行结果如何还没开始就已经注定了,不需要编程来观察。
#4
农民工2015-10-20 08:48
先说明下 这程序的作用
#5
小林1112015-10-20 11:42
后面的if 语句在前面for语句中已经有判断了,没什么意义,若要输出r,为什么要用return r呢?



[此贴子已经被作者于2015-10-20 11:45编辑过]

1