| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 740 人关注过本帖
标题:printf加在不同位置导致运行出错
只看楼主 加入收藏
jiangxinwang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-12-19
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:3 
printf加在不同位置导致运行出错
前辈们好,我最近遇到了个奇怪的问题。
有一段代码,如下(因为代码全文较长,我选取了其中出问题的地方):
在186-187行处,我加了一个printf,全部代码编译后可以正常运行,178-179正常打印。
但是如果我把186-187行注释掉,而是在183行的地方加个printf,代码运行就出错了。
出错的时候178和179行print出来的都是0了!

166     for(i=0;i<60;i++)
167     {
168         for(j=0;j<80;j++)
169         {
170             if (lepton_image[i][j] > maxval) {
171                 maxval = lepton_image[i][j];
172             }
173             if (lepton_image[i][j] < minval) {
174                 minval = lepton_image[i][j];
175             }
176         }
177     }
178     printf("maxval = %u\n",maxval);
179     printf("minval = %u\n",minval);
180
181     float diff = maxval - minval;
182     float scale = 255/diff;
183     //printf(" ");
184     for(i=0;i<60;i++)
185     {
186         if(i==1)
187         printf(" ");

188         for(j=0;j<80;j++)
189         {
190             value = (lepton_image[i][j] - minval) * scale;
191             *bmp = colormap[3 * value];
192             *(bmp + 1) = colormap[3 * value + 1];
193             *(bmp + 2) = colormap[3 * value + 2];
194             bmp += 3;
195         }
196     }
197     unsigned char *ret = savejpg(bmp_head0, image_name, 80, 60);

所以感觉很奇怪,理论上187处和183处加了printf效果是一样的。
况且为啥187或183处的改动,会影响到前面代码的运行?

这个问题感觉好诡异,有没有前辈们遇到过这种问题?
谢谢!
2016-12-21 10:54
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:20 
假如不是代码的原因 --- 我也不知道是不是 --- 的话,估计是你编译器的增量编译紊乱了,关闭工程,删掉那些垃圾的中间文件,然后重新编译
2016-12-21 11:02
jiangxinwang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-12-19
收藏
得分:0 
回复 2楼 rjsp
我这个是用gcc编译的,会不会和编译器有关系?
2016-12-21 13:34
jiangxinwang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-12-19
收藏
得分:0 
回复 2楼 rjsp
我把第一个for循环改成用while实现,结果就好了
2016-12-21 16:56
快速回复:printf加在不同位置导致运行出错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021563 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved