回 帖 发 新 帖 刷新版面

主题:请帮帮忙,我写的这个程序有问题,求解!!!

本人初学c++,可能问的问题有点简单,但是请大家帮帮忙
这个代码编译时现实一个错误:

//习题2.28
#include <iostream>

using std::cin;
using std::cout;
using std::endl;

int main()
{
    int n;
    int i;
    int j;

    cout<<"请输入想得到的正方形的边长: ";
    cin>>n;

    for (i=1;i<=n;i++)
        cout<<"*";
    cout<<endl;

    for(j=2;j<n;j++)
    {
        for(i=1;i<=n;i++)
        {
        if (i=1||i=n)
            cout<<"*";
        else
            cout<<" ";
        }
        cout<<endl;
    }
    for(i=1;i<=n;i++)
        cout<<"*";
    cout<<endl;

    return 0;
}
error C2106: '=' : left operand must be l-value
明白的请告诉我,谢谢!!!

回复列表 (共6个回复)

沙发

这个程序显示的也是这个错误:
//习题2.55
#include <iostream>

using std::cout;
using std::endl;

int main()
{
    int a;
    int b;
    int c;

    cout<<"side1\t"<<"side2\t"<<"hypotenuse\n"<<endl;

    for(a=1;a<500;a++)
        for(b=1;b<500;b++)
        {
            for(c=2;c<=500;c++)
            {
                if( c*c=a*a+b*b )
                    cout<<a<<"\t"
                        <<b<<"\t"
                        <<c<<"\n";
            }
        }
    return 0;
}

error C2106: '=' : left operand must be l-value
请高手告知,不胜感激

板凳


#include <iostream>

using std::cin;
using std::cout;
using std::endl;

int main()
{
    int n;
    int i;
    int j;

    cout<<"请输入想得到的正方形的边长: ";
    cin>>n;

    for (i=1;i<=n;i++)
        cout<<"*";
    cout<<endl;

    for(j=2;j<n;j++)
    {
        for(i=1;i<=n;i++)
        {
        if (i==1||i==n)//里面应该是双等号
            cout<<"*";
        else
            cout<<" ";
        }
        cout<<endl;
    }
    for(i=1;i<=n;i++)
        cout<<"*";
    cout<<endl;

    return 0;
}

3 楼

明白了,谢谢!是个低级错误,不好意思!
永远不会在犯le!

4 楼

虽然问题解决了,不过我想多句可能对你有帮助的嘴

=在C++中是赋值的作用,左边是变量,可以不用知道他的值,右边不管是什么必须要在确切知道它的值的情况下才能使用
而==操作符是比较左右俩边是否相等。

5 楼


为什么前面不用 using namespace std;?而要写3行呢?

6 楼

using std::cin;
using std::cout;
using std::endl;
我觉得用这个代替using namespace std 更省事。也简单些

我来回复

您尚未登录,请登录后再回复。点此登录或注册