当我运行下面的代码时,我得到一个错误.
void printData(int total_trees,int burned){
printf("Before printing data\n");
float percentBurned = (float)burned / (total_trees+burned)*100;
printf("total burned: %d (%.1f\%)\n",burned,percentBurned);
printf("trees left: %d\n", total_trees);
// printf("trees left: %d\n", total_trees);
printf("After printing data");
}
错误显示为*** stack smashing detected ***: terminated
在输出错误之前,它输出前三个printf语句.
Link to image because this is my first stackoverflow post个
我试着把所有东西都重新安排了很多次,但到目前为止都没有奏效.我猜print tf语句本身不会触发溢出,但我可能错了.
感谢您能给予我的任何帮助:)
编辑:printf("trees left: %d\n", total_trees);
是抛出错误前运行的最后一行