Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.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
调试c代码时出现缓冲区溢出问题_C - Fatal编程技术网

调试c代码时出现缓冲区溢出问题

调试c代码时出现缓冲区溢出问题,c,C,除此之外还有3个数据块 感谢您的帮助您定义了整数分数[12][MAX_BASE]在structSKATER中。但您可以这样扫描: PLUSHENKO Evgeni 1 13.0 0 2 1 1 1 0 1 0 1 1 1 1 2 7.5 1 2 2 2 2 1 2 1 2 2 2 2 3 6.0 2 1 1 1 1 0 0 2 1 2 1 2 4 2.3 2 1 1 1 1 1 2 1 1 1 1 1 5 3.4 2 2 2 2 1 2 3 3 2 3 2 1 6 2.1 1 1 1 2 2

除此之外还有3个数据块
感谢您的帮助

您定义了
整数分数[12][MAX_BASE]在struct
SKATER
中。但您可以这样扫描:

PLUSHENKO Evgeni
1 13.0 0 2 1 1 1 0 1 0 1 1 1 1 
2 7.5 1 2 2 2 2 1 2 1 2 2 2 2
3 6.0 2 1 1 1 1 0 0 2 1 2 1 2
4 2.3 2 1 1 1 1 1 2 1 1 1 1 1
5 3.4 2 2 2 2 1 2 3 3 2 3 2 1
6 2.1 1 1 1 2 2 0 0 0 1 2 1 1
7 3.1 1 0 2 2 1 1 1 2 2 2 2 1
8 3.5 1 1 2 2 1 1 1 1 2 2 1 1  
(j=0;j<12;j++)的

{
sscanf(缓冲区,“%d”,滑冰者[i]。得分[k][j];
}
索引错误。应更改为
sscanf(缓冲区,“%d”,&skater[i]。分数[j][k]并且不要错过
&

sscanf(缓冲区,“%d”,&skater[i]。元素,skater[i]。baseval)更改为
sscanf(缓冲区,“%d%f”,&skater[i]。元素,skater[i]。baseval)

我想你需要阅读。需要把要点转到
sscanf


祝你好运

看起来像
sscanf(缓冲区,“%d”,skater[i]。分数[k][j])应该是
sscanf(缓冲区、%d“,&skater[i]。分数[k][j])(您缺少一个
&
)。我不确定该程序的功能。但正如@DCoder所说,当您添加miss-the-missing&everywhere时,程序正常运行
PLUSHENKO Evgeni
1 13.0 0 2 1 1 1 0 1 0 1 1 1 1 
2 7.5 1 2 2 2 2 1 2 1 2 2 2 2
3 6.0 2 1 1 1 1 0 0 2 1 2 1 2
4 2.3 2 1 1 1 1 1 2 1 1 1 1 1
5 3.4 2 2 2 2 1 2 3 3 2 3 2 1
6 2.1 1 1 1 2 2 0 0 0 1 2 1 1
7 3.1 1 0 2 2 1 1 1 2 2 2 2 1
8 3.5 1 1 2 2 1 1 1 1 2 2 1 1  
         for(j = 0; j < 12; j++)
         {
            sscanf(buffer,"%d", skater[i].score[k][j]);
         }