laozizuiniu8 2023-07-29 07:41 采纳率: 60%
浏览 5
已结题

C语言中发生写入冲突

#include <stdio.h>
//#include<math.h>
#include<string.h>
//#define MAX 0x3f3f3f3f
//void exchange(int e, int f);
//void exchange(int e,int f) 
//{
//    int a = 0, b = 0, c = 0, d = 0;
//    a = f;
//    b = e;
//    printf("a=%d,b=%d",a,b);
//}

int main() 
{
//设立必要变量
    int a = 0, b = 0,x=0,count=0,i=0;


//定义数组以及初始化
    int number[0x7777777];
    int tiko[0x7777777];
    memset(number, 0, sizeof(number));
    memset(tiko, 0, sizeof(tiko));

    //依次写入数组
    printf("请输入");
    scanf_s("%d", &x);
        if (x != -1)
        {
            number[count] = x;
            for (i = 0; i < 0x7777777; i++)
            {
                //计数
                if (number[count] = i) 
                {
                    tiko[count]++;
                }
            }
            count++;
            scanf_s("%d", &x);
        }

        //输出数字以及个数
        for (a = 0; a < count; a++)
        {
            if (tiko[a] != 0)
                printf("%d %d次\n", number[a], tiko[a]);
        }

    //printf ("请输入你想交换的数字");
                    
    //scanf_s("%d %d", &a,&b);

    // exchange(a,b);

    return 0;
 }

这个代码在 int main{ 处显示写入冲突,请问怎么解决?

  • 写回答

3条回答 默认 最新

  • 吴小凹 2023-07-29 09:18
    关注

    报错是栈溢出了,不要定义用那么大的数组,数组改小,或者堆栈改大都行.相对来说数组改小容易些.

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

报告相同问题?

问题事件

  • 系统已结题 8月6日
  • 已采纳回答 7月29日
  • 创建了问题 7月29日