gpt4 book ai didi

c++ - 运行时检查失败 #2 - 变量 'cid1' 周围的堆栈已损坏

转载 作者:搜寻专家 更新时间:2023-10-31 01:11:24 25 4
gpt4 key购买 nike

我是 C 语言编程的新手,目前正在上大学。我遇到了这个错误,并且不确定在谷歌搜索数小时后如何修复它。我正在创建一个打印成绩报告的程序,但一直遇到此错误。

代码如下:

#include <stdio.h>
#include <stdlib.h>

int main (void)
{ char Name[20];
char cid1[5]="", cid2[5]="", cid3[5]="", cid4[5]="", cid5[5]="", cid6[5]="";
char Description1[20]="", Description2[20]="", Description3[20]="", Description4[20]="", Description5[20]="", Description6[20]="";
int hrs1 = 0, hrs2=0, hrs3=0, hrs4=0, hrs5=0, hrs6=0;
char grade1[1]="",grade2[1]="",grade3[1]="",grade4[1]="",grade5[1]="",grade6[1]="";

printf("Enter Students Name ");
gets(Name);

printf("Enter Class ID ");
scanf("%s", &cid1);

printf("Enter Class Description ");
gets(Description1);

printf("%s", Name);
printf("%s", cid1);
printf("%s", Description1);

system("pause");
}

最佳答案

scanf("%s", &cid1);

您需要调用:

scanf("%s", cid1);

并且你的数组被声明为 5 个元素,所以如果你传递超过 4 个字符(你必须计算尾随的 \0) 你正在调用未定义的行为。

关于c++ - 运行时检查失败 #2 - 变量 'cid1' 周围的堆栈已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14946437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com