sizeof用法及求最大公因數疑問

想問一下c語言裡面有sizeof,他是做啥用的????????????

書上有printf(\"\\1: The size of char is %d\\n\",sizeof(char));

printf(\"\\1: The size of int is %d\\n\",sizeof(int));

會印出 The size of char is 1

The size of int is 2

sizeof還可以應用在哪方面??

================================================

還有C語言求最大公因數

int i,j,tmp;

printf(\"input a number:\");

scanf(\"%d %d\",&i,&j);

while()

{

tmp=i%j;

i=j;

j=tmp;

}

printf(\"\\2: The gcd is %d \\n\",i);

輸入 i=14,j= 4

輸出 gcd=2

===========================

我不懂

tmp=i%j;

i=j;

j=tmp;

???????先14%4丟到tmp, 此時tmp=2,再把4丟到變數j,再把2丟到變數j

printf(\"\\2: The gcd is %d \\n\",i);為啥要印i這個變數??

不懂他怎麼轉換@@\"~希望有大大可以解決我的困惑(mom)

3 個解答

評分
  • 1 0 年前
    最佳解答

    sizeof(expression) 用來在編譯時期(compile-time) 求取運算式佔有多少 Byte

    用處喔, 在 C++ 中可以用來製作某一種的 type traits

    例如: 測試某個 class 是否有虛擬函數, is_polymorphic<>

    http://phpfi.com/140724

  • ?
    Lv 4
    1 0 年前

    -> The size of int is 2

    你用的是 Turbo C 嗎 ?

    sizeof(n) 用在跟記憶要一塊大小為n 的 空間, 你去查動態記憶體分配就會發現 sizeof 用的忙兇的囉 ^^~

  • Almond
    Lv 6
    1 0 年前

    針對gcd問題,如果發問者會輾轉相除法的話,那三行就看的懂。

還有問題?馬上發問,尋求解答。