C程序中的运行时错误。“”Windows正在尝试找到解决方案“”
我想和大家分享一个我已经面对过很多次的问题 请参阅我编写的代码:C程序中的运行时错误。“”Windows正在尝试找到解决方案“”,c,C,我想和大家分享一个我已经面对过很多次的问题 请参阅我编写的代码: int main(){ /*main method*/ char original[10]; char c; int i; for(i=0; (c=getchar())!=EOF;i++){ original[i]=c; } printf(totalElements(original)); } int totalElements
int main(){
/*main method*/
char original[10];
char c;
int i;
for(i=0; (c=getchar())!=EOF;i++){
original[i]=c;
}
printf(totalElements(original));
}
int totalElements(char a[]){
char c;
int i=0;
while((c=a[i])!='\0'){
i++;
}
return i;
}
这是一个确定输入中字符总数的代码。例如:输入“CAT”有3个字符,因此它将打印3个字符
但是,当我运行此代码时,几秒钟后会出现一个提示,提示它已停止工作,windows正在尝试找到解决方案
有人能告诉我是什么问题吗
不仅这一次,而且我已经多次面对这个问题
谢谢您的帮助。您没有在字符串末尾添加字符串终止符字符
int main(){
/*main method*/
char original[10];
int c;
int i;
for(i=0;i < 9 && (c=getchar())!=EOF;i++){
original[i]=c;
}
original[i] = '\0';
printf("%d\n", totalElements(original));
return 0;
}
int totalElements(char a[]){
char c;
int i=0;
while((c=a[i])!='\0'){
i++;
}
return i;
}
您的printf也不正确。Windows错误对话框(如Windows在停止程序后试图找到解决方案)表明正在运行的应用程序中存在导致其异常终止的缺陷 如果您多次遇到这种情况,那是因为您正在编写或使用的程序中存在缺陷,这些缺陷在运行时会导致错误 此错误消息用于通知应用程序用户应用程序已异常终止,并且Windows正在检查Microsoft异常终止数据库,以查看是否记录了此问题。由于这些是您自己编写的应用程序,而不是Microsoft或其他供应商的应用程序,因此Windows找到解决方案的机会相当渺茫
本文提供了禁用此消息的过程。基本步骤是转到“更改操作中心设置”并更改问题报告设置的设置。在printftotalElementsoriginal;之前添加原始[i]='\0';。此外,您还可以在循环中原始[i]=c之后添加if i==8{i++;break;};为了防止缓冲区溢出,totalElements返回int,那么您希望printftotalElementsoriginal如何;do?和charc;应为int c@于浩,不应打印总版次原件;打印值?@Siddhant不应打印TotalElementsOriginal;打印值?-不需要。printf需要字符串literalconst char*或。。。作为其第一个参数,不是int。正确的方法是使用printf%d,totalElementSorInitial;。哦,我忘了加上那个。。。thnx@Viktor Simkó你的回答是不完整的。如果我输入20个chacacter会怎么样?@DavidHaim,这只是一个测试程序。。。不是原创的。。。我完全同意你的说法。。。我只是一个九年级的学生。。我制作测试程序来检查我的技能。。。。当我要写一个完整的工作代码时,我一定会记住这些事情