大神解釋下,為什么花括號(hào)放if(a==b)前面,輸出什么也沒(méi)有呢????
#include <stdio.h>?
int main()
{
? ? int a,b;
? ? for(a=2;a<50;a++)
? ? {
? ? ? ? for(b=2;b<a;b++)
? ? ? ? {
? ? ? ? ? ? if(a%b==0)
? ? ? ? ? ? break;
? ? ? ? }
? ? } ? ? ? ? ? ? ? ? ? ?//就是這個(gè)
? ? if(a==b)
? ? printf("%d ",a);
? ? ? ? ? ? ? ? ? ? ? ?//為什么放在這就對(duì)??
? ??
}
2015-10-21
- -你好像理解錯(cuò)我的意思了,我意思是我這兩個(gè)代碼區(qū)別是什么啊~~~~
#include <stdio.h>?
int main()
{
? ? int a,b;
? ? for(a=2;a<50;a++)
? ? {
? ? ? ? for(b=2;b<a;b++)
? ? ? ? {
? ? ? ? ? ? if(a%b==0)
? ? ? ? ? ? break;
? ? ? ? }
} ? ? ? ? ? ? ? //花括號(hào)放在這為什么不對(duì)????
? ? ? ? ? ? ? ? ? ? ? ??
? ? if(a==b)
? ? printf("%d ",a);
? ? ? }
#include <stdio.h>?
int main()
{
? ? int a,b;
? ? for(a=2;a<50;a++)
? ? {
? ? ? ? for(b=2;b<a;b++)
? ? ? ? {
? ? ? ? ? ? if(a%b==0)
? ? ? ? ? ? break;
? ? ? ? }
? ? ?if(a==b)
? ? printf("%d ",a);
} ? ? ?//而放在這就能輸出正確的結(jié)果????
? ? ??}
2015-10-21
因?yàn)楫?dāng)循環(huán)結(jié)束后,a = 50, b = 49, 所以如果if(a == b)放在printf("%d ",a)?前面,則需要a等于b的條件才輸出a的值,而a是不等于b的,所以不會(huì)輸出,如果if(a == b)放在printf("%d ",a) 后面,則不用判斷a是否等于b就直接輸出a的值。
C++技術(shù)網(wǎng)http://www.cjjjs.cn/,網(wǎng)站的零基礎(chǔ)入門(mén)教程,可以帶你從小白練就大神,文章深入淺出,通俗易懂,分析透徹,即使學(xué)過(guò),也會(huì)大有收獲,是學(xué)習(xí)必備網(wǎng)站哦。