Jimmy0329 2023-01-27 11:31 采纳率: 72.7%
浏览 15
已结题

关于c++ 的问题,希望大家帮帮我!

在使用visual studio制作一个彩票6+1模型时出现了错误:表达式必须是可修改的左值
自己试过交换等号两边,但还是报错..
代码:

#include <iostream>
#include <stdio.h>
#include <algorithm>
int co = 0;
using namespace std;
char b[10000000];
int main() {
    int a[9] = { 1,2,3,4,5,6,7,8,9 };
    for (int i = 0; i < 6; i++)
        ::cout << a[i];
    ::cout << endl;
    while (next_permutation(a, a + 9)) {
        for (int j=1; j <= 12;j++) {
            for (int i = 0; i < 6; i++) {
                    ::cout << a[i];
                    co+1=co;//错误(活动)    E0137    表达式必须是可修改的左值

                    a[i] = b[co];
            }
            switch (j) {
                co++;
            case(1):
                ::cout << "鼠" << endl;
                "鼠" = b[co + 1];//错误(活动)    E0137    表达式必须是可修改的左值
                break;
            case(2):
                ::cout << "牛" << endl;
                break;
            case(3):
                ::cout << "虎" << endl;
                break;
            case(4):
                ::cout << "兔" << endl;
                break;
            case(5):
                ::cout << "龙" << endl;
                break;
            case(6):
                ::cout << "蛇" << endl;
                break;
            case(7):
                ::cout << "马" << endl;
                break;
            case(8):
                ::cout << "羊" << endl;
                break;
            case(9):
                ::cout << "猴" << endl;
                break;
            case(10):
                ::cout << "鸡" << endl;
                break;
            case(11):
                ::cout << "狗" << endl;
                break;
            case(12):
                ::cout << "猪" << endl;
                break;
                }
            }
    }
    return 0;
}
  • 写回答

2条回答 默认 最新

  • a7464553 2023-01-27 11:55
    关注

    这段代码出现了两个错误:

    1.co+1=co;//错误(活动) E0137 表达式必须是可修改的左值

    2."鼠" = b[co + 1];//错误(活动) E0137 表达式必须是可修改的左值

    这两个错误都是因为co+1=co;和"鼠" = b[co + 1];这两个表达式必须是可修改的左值。

    要修改这两处错误,可以把co+1=co;改为co++;,把"鼠" = b[co + 1];改为b[co + 1]="鼠";

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月27日
  • 已采纳回答 1月27日
  • 修改了问题 1月27日
  • 创建了问题 1月27日