Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取过程返回-1073741819(0xC0000005)错误,请回答_C - Fatal编程技术网

获取过程返回-1073741819(0xC0000005)错误,请回答

获取过程返回-1073741819(0xC0000005)错误,请回答,c,C,当我试图得到答案时,我得到了以下错误: 流程返回“-1073741819(0xC0000005)”。 我的目标很简单:我从用户那里得到4个数字,1个用于菜单,另外3个用于做数学运算,但我得不到答案:这太糟糕了 我的代码: #include <stdio.h> #include <stdlib.h> int main() { int menu,t1,t2,sonuc1; double r1,sonuc,sonuc2; printf("\t******

当我试图得到答案时,我得到了以下错误: 流程返回“-1073741819(0xC0000005)”。 我的目标很简单:我从用户那里得到4个数字,1个用于菜单,另外3个用于做数学运算,但我得不到答案:这太糟糕了

我的代码:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int menu,t1,t2,sonuc1;
    double r1,sonuc,sonuc2;
    printf("\t*************Menu*****************\n");
    printf("\n");
    printf("1.\t SADECE TAM SAYILARI TOPLA\n");
    printf("2.\t TAM SAYILARI TOPLA REEL SAYI ILE CARP\n");
    printf("3.\t REEL SAYININ KARESİNİ ALARAK 1.TAM SAYI İLE ÇARP\n");
    printf("4.\t CIKIS\n");
    printf("Seciniz:");
    scanf("%d",&menu);
    if(menu == 4){
        printf("Hoscakal");
        return 0;
    }
    else if (menu !=1 && menu !=2 && menu !=3){
        printf("Gecersiz Deger!");
        return 0;
    }
    printf("\nBirinci tam sayiyi giriniz: ");
    scanf("%d",&t1);
    printf("\nIkinci tam sayiyi giriniz: ");
    scanf("%d",&t2);
    if (t2==0){
            t2 = 1;
        }
    printf("\nReel sayiyi giriniz: ");
    scanf("%lf",r1);
    if(r1>0 || r1 == 0){
        r1 = -1;
    }
    if(menu == 1){
            sonuc1 = (t1+t2);
    printf("Sonuc: %d",sonuc1);
    }
    else if(menu == 2) {
            sonuc = (t1+t2)*r1;
        printf("Sonuc: %lf",sonuc);
    }
    else if(menu == 3) {
            sonuc2 = (r1*r1)*t1;
        printf("Sonuc: %lf",sonuc2);
    }
}
#包括
#包括
int main()
{
int菜单,t1,t2,sonuc1;
双r1,sonuc,sonuc2;
printf(“\t****************菜单***************************\n”);
printf(“\n”);
printf(“1.\t SADECE TAM SAYILARI TOPLA\n”);
printf(“2.\t TAM SAYILARI TOPLA REEL SAYI ILE CARP\n”);
printf(“3.t卷轴SAYININ KARESİNİalaak 1.TAM SAYIİLEİARP\N”);
printf(“4.\t CIKIS\n”);
printf(“secnizing:”);
scanf(“%d”,菜单(&M);
如果(菜单==4){
printf(“Hoscakal”);
返回0;
}
否则如果(菜单!=1&&menu!=2&&menu!=3){
printf(“Gecersiz Deger!”);
返回0;
}
printf(“\n比林奇·塔姆·萨伊伊·吉日化:”);
scanf(“%d”和&t1);
printf(“\nIkinci tam sayiyiyi girizing:”);
扫描频率(“%d”和“t2”);
如果(t2==0){
t2=1;
}
printf(“\nrel sayiyiyi girizing:”);
扫描频率(“%lf”,r1);
如果(r1>0 | | r1==0){
r1=-1;
}
如果(菜单==1){
sonuc1=(t1+t2);
printf(“Sonuc:%d”,sonuc1);
}
否则如果(菜单==2){
sonuc=(t1+t2)*r1;
printf(“Sonuc:%lf”,Sonuc);
}
否则如果(菜单==3){
sonuc2=(r1*r1)*t1;
printf(“Sonuc:%lf”,sonuc2);
}
}
输出:

%lf
scanf
的格式说明符需要一个
double*
,但您要传递的是一个
double
。格式说明符与给定参数调用不匹配,在本例中会导致崩溃

将其更改为:

scanf("%lf",&r1);

在调试器下运行此代码,它将告诉您其失败的位置
scanf(“%lf”,r1)-你应该得到一个警告。
scanf("%lf",&r1);