Aseeker 发表于 2019-9-29 10:55:36

C++ 发生访问冲突怎么修改

十进制数的分解与组合。从键盘上输入一个4位数的整数a(学号末四位),分解出每一位数字,按逆序的数字组合成新的整数b,计算a+b。例如:6829+9286=16115。
程序的结构及部分语句如下,请在“...”处添加语句完成整个程序并调试正确。程序中,变量d0,d1,d2,d3分别保存整数从个位到千位的每位数值。


#include<stdio.h>
void main()
{
        int a,b,temp;
        int d0,d1,d2,d3;
        printf("请输入1个4位数字的整数:");
        scanf("%4d,&a");
        temp=a;
        d0=temp%10;
        d1=(temp%100)/10;
        d2=(temp%1000)/100;
        d3=temp/1000;
        b=d0*1000+d1*100+d2*10+d3;
        printf("%4d+%4d=%d\n",a,b,a+b);
        system("pause");
}


0x0f5de42e (msvcr100d.dll) 处最可能的异常: 0xC0000005: 写入位置 0x011e1109 时发生访问冲突
0x0f5de42e (msvcr100d.dll) 处有未经处理的异常: 0xC0000005: 写入位置 0x011e1109 时发生访问冲突

jackz007 发表于 2019-9-29 11:05:48

      这句的问题
      scanf("%4d,&a");
      得改成这样
      scanf("%4d",&a);
页: [1]
查看完整版本: C++ 发生访问冲突怎么修改