NeoLogy 74 Report post Posted March 22, 2012 Salam, Aku ada sedikit keraguan mengenai loop while dan do while.. Berdasarkan pengetahuan aku yang cetek ini, do..while loop ni akan execute once sebelum dia check while condition. Bagi loop while lak, dia akan check while condition dulu kan?so kalau true..baru dia execute statement dalam loop..btol ke pemahaman aku ini.. Satu lagi berkenaan dengan pre-increment (++i) dan post-increment (i++) yang digunakan dalam "for" loop.. contohnya: [code] for(i=0;i<10;++i){ printf("i= %d\n",i); } [/code] [code] for(i=0;i<10;i++){ printf("i= %d\n",i); } [/code] so, ape result bagi kedua-dua loop ini? adakah sama atau berbeza. Kalau berbeza, bleh tak explainkan? minta bantuan kepada otai-otai c kat putera.com ni.. Quote Share this post Link to post Share on other sites
ahaksz! 44 Report post Posted March 22, 2012 [quote name='NeoLogy' timestamp='1332386555' post='1080346'] Salam, Aku ada sedikit keraguan mengenai loop while dan do while.. Berdasarkan pengetahuan aku yang cetek ini, do..while loop ni akan execute once sebelum dia check while condition. Bagi loop while lak, dia akan check while condition dulu kan?so kalau true..baru dia execute statement dalam loop..btol ke pemahaman aku ini.. Satu lagi berkenaan dengan pre-increment (++i) dan post-increment (i++) yang digunakan dalam "for" loop.. contohnya: so, ape result bagi kedua-dua loop ini? adakah sama atau berbeza. Kalau berbeza, bleh tak explainkan? minta bantuan kepada otai-otai c kat putera.com ni.. [/quote] i++ increment by 1 tapi dia simpan untuk next use. (ni yang mampu aku explain) ++i increment by 1 untuk current use. So macam coding bawah ni [code] for(i=0;i<10;++i){ printf("i= %d\n",i); } [/code] i=0 starting. Tapi bila jumpa ++i tem printf dia akan keluar 1 so turutan dia, i = 1 i = 2 i = 3 .. [code] for(i=0;i<10;i++){ printf("i= %d\n",i); } [/code] i = 0 starting. bila jumpa i++ dia increase value tapi dia akn print value terdahulu instead of current mean i = 0 i = 1 .. Yang do..while loop tu betol dah pemahaman. Do..while - do now check later while - check now do later Quote Share this post Link to post Share on other sites
NeoLogy 74 Report post Posted March 23, 2012 Satu lagi nak tanya, dalam "for" loop..dia check condition dulu baru run or run dulu sekali then check condition? Contohnya; [code] char i=14; for(i=0;i<5;i++){ printf("%d ",i); } [/code] Quote Share this post Link to post Share on other sites
ahaksz! 44 Report post Posted March 23, 2012 Dia check condition dulu baru run. Quote Share this post Link to post Share on other sites
otai_g 3 Report post Posted April 4, 2012 [quote name='NeoLogy' timestamp='1332463752' post='1080381'] Satu lagi nak tanya, dalam "for" loop..dia check condition dulu baru run or run dulu sekali then check condition? Contohnya; [code] char i=14; for(i=0;i<5;i++){ printf("%d ",i); } [/code] [/quote] jap aku rs coding ni ada sikit mistake, i ko dah declare as char tp bila print dia jd decimal. patutnya aku rs int i=14 dan bukannya char i=14 Quote Share this post Link to post Share on other sites
NeoLogy 74 Report post Posted April 5, 2012 [quote name='otai_g' timestamp='1333559299' post='1080661'] jap aku rs coding ni ada sikit mistake, i ko dah declare as char tp bila print dia jd decimal. patutnya aku rs int i=14 dan bukannya char i=14 [/quote] dalam c, char bukan hanya untuk character (ASCII) saje..char adalah 8bit (1 byte) data variable..actually semua data disimpan dalam bentuk bit dalam variable..ASCII code pun 8 bit data size untuk setiap character.. contoh : ASCII code utk '7' adalah decimal : 55 dan hexadecimal : 0x37 [code] char i=55; printf("%d\n",i); /* output : 55 */ printf("%c\n",i); /* output ; 7 */ [/code] [url="http://ideone.com/tckLB"]http://ideone.com/tckLB[/url] so, jangan salah faham.. Quote Share this post Link to post Share on other sites