婳糖 2024-02-22 16:54 采纳率: 100%
浏览 3
已结题

Process exited after 17.26 seconds with return value 3221225477

这是咋回事啊!



#include<bits/stdc++.h>
using namespace std;
int main(){
    double fazhi;
    char DNA[2000],AND[2000];
    int i=1,y,n;
    cin>>fazhi;
    cin>>DNA;
    cin>>AND;
    while(sizeof(DNA)){
        if(DNA[i]==AND[i]){
            y++;
        }else{
            n++;
        }
        i++;
    }
    cout<<y<<" "<<n;
}



Process exited after 17.26 seconds with return value 3221225477
请按任意键继续. . .

  • 写回答

2条回答 默认 最新

  • GISer Liu 2024-02-22 17:41
    关注

    该回答引用自GPT-3.5,由博主GISer Liu编写:

    问题的核心在于代码中的逻辑错误和潜在的内存越界问题。

    首先,让我们来看看你的代码:

    #include<bits/stdc++.h> 
    using namespace std; 
    
    int main(){
        double fazhi; 
        char DNA[2000], AND[2000]; 
        int i=1,y=0,n=0; 
        cin>>fazhi; 
        cin>>DNA; 
        cin>>AND; 
        while(sizeof(DNA)){ 
            if(DNA[i]==AND[i]){ 
                y++; 
            }else{ 
                n++; 
            } 
            i++; 
        } 
        cout<<y<<" "<<n; 
    }
    

    问题分析与解决方案:

    1. 数组越界问题:在C++中,数组的索引是从0开始的,但是你的循环从1开始,这会导致数组越界访问。应该将循环起始值设置为0,遍历至DNA或AND的长度减一。

    2. 逻辑错误:你的循环条件 while(sizeof(DNA)) 是有问题的。sizeof(DNA) 返回的是整个数组的大小(以字节为单位),而不是数组中实际存储的元素个数。应该使用 strlen(DNA) 来获取字符串长度。

    修改后的代码如下所示:

    #include <iostream>
    #include <cstring> // 包含 strlen 函数的头文件
    using namespace std;
    
    int main(){
        double fazhi; 
        char DNA[2000], AND[2000]; 
        int y=0, n=0; 
        cin >> fazhi; 
        cin >> DNA; 
        cin >> AND; 
        int len = strlen(DNA); // 获取字符串长度
        for(int i = 0; i < len; ++i){ // 修正循环起始值和终止条件
            if(DNA[i] == AND[i]){ 
                y++; 
            } else { 
                n++; 
            } 
        } 
        cout << y << " " << n; 
        return 0; // 添加返回值,表明程序正常结束
    }
    

    这样应该能够解决你的问题了。

    如果该回答解决了您的问题,请采纳!如果没有,请参考以下方案进行修订

    用户答题指南

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

报告相同问题?

问题事件

  • 系统已结题 3月2日
  • 已采纳回答 2月23日
  • 创建了问题 2月22日

悬赏问题

  • ¥15 速帮,学校需要在外上班没空
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改
  • ¥15 Windows 系统cmd后提示“加载用户设置时遇到错误”
  • ¥50 vue router 动态路由问题
  • ¥15 关于#.net#的问题:End Function
  • ¥15 无法import pycausal
  • ¥15 VS2022创建MVC framework提示:预安装的程序包具有对缺少的注册表值的引用
  • ¥15 weditor无法连接模拟器Local server not started, start with?
  • ¥20 6-3 String类定义