对于一般性问题感到抱歉,但我在我的代码中遇到了一个我无法解释的行为,并且我发现与其他用户相关。
当屏幕出现时,屏幕截图正确。这是我的代码运行时发生的可重复错误。 
 屏幕截图
并且有文字版本。 
我的代码运行一个函数
&#xA;&#xA; inline static int isInBounds(SDL_Surface * img,int x,int y){&#xA; if((x <0)||(x> = img-> w)||(y <0)||(y> = img-> h))返回0;&#xA;返回1;&#xA;}&#xA;
&#xA;&#xA; 我使用gdb运行代码,得到了结果
&#xA; &#xA; (gdb)print isInBounds(surface,x,y)&#xA; $ 1 = 1&#xA;(gdb)print y&gt; = surface-&gt; h&#xA; $ 2 = 1&#xA;
&#xA;&#xA; 我不明白。如果(y> = surface-> h)= 1,那么函数isInBounds(surface,x,y)不应该返回0,因为if语句已经完成了吗?
&#xA;答案 0 :(得分:0)
有一天,当我重新运行它时,错误就解决了。众神知道发生了什么。