C++编程就差这一个花括号,为什么最终结果又不一样

图片说明
图片说明

只是稍微改变了一点点,到底哪里出了问题

第一个里"if(j%10==0) cout<< endl; "包含在“if(i%3!=0)”这段里,意义完全不同
第二个里i是3的倍数时,endl输出两次

第一个是当满足了情况i%3!=0时,在满足情况j%10==0时才执行;第二个则是满足j%10==0就执行

条件不一样
第一个是: i不是3的整数倍而且j是10的整数倍的时候才输出换行;
第二个是:j是10的整数倍就输出换行。

第一个:换行在括号里面,进括号会j++,所以不会连换2行
第二个:换行在括号外面,当j是10的倍数的时候,恰好满足i+1是3的倍数。所以,先输出换行,i+1后不会j++,此时j的值不变,依旧输出换行
........

她是我女朋友

她是我女性朋友

差一个字,为什么含义不一样?

你根本没有理解语法,只是去背程序,当然搞不清了。

放在括号里,相当于做了两次判断。结果当然不一样的!

第一个是当满足了情况i%3!=0时,在满足情况j%10==0时才执行;第二个则是满足j%10==0就执行