#5909: 請問用short 為什麼會不行


bleeming71 (bleeming71)

學校 : 臺中市立忠明高級中學
編號 : 19528
來源 : [219.84.247.226]
最後登入時間 :
2013-10-07 00:10:47
a058. MOD3 | From: [114.38.115.145] | 發表日期 : 2011-10-13 14:57

我的程式如下

#include <stdio.h>

#include <stdlib.h>

int main()

{

    unsigned short n, i;

    unsigned threeK[3] = {0,0,0};

    unsigned num;

    scanf("%d", &n);

    for( i=0 ; i<n  ; i++ )

    {

        scanf("%d", &num);

        switch(num%3)

        {

            case 0:

                threeK[0]++;

                break;

            case 1:

                threeK[1]++;

                break;

            case 2:

                threeK[2]++;

                break;

        }

    }

    printf("%d %d %d", threeK[0], threeK[1], threeK[2]);

    return 0;

}

 我如果把 num 的宣告用 unsigned short 就會有問題,不知道為什麼,請問有人可以幫我解答嗎? 謝謝。

 
#13616: Re:請問用short 為什麼會不行


snakeneedy (蛇~Snake)

學校 : 國立高雄師範大學附屬高級中學
編號 : 7661
來源 : [114.40.8.251]
最後登入時間 :
2023-01-25 19:16:06
a058. MOD3 | From: [218.164.125.30] | 發表日期 : 2018-03-29 14:59

我的程式如下

#include

#include

int main()

{

    unsigned short n, i;

    unsigned threeK[3] = {0,0,0};

    unsigned num;

    scanf("%d", &n);

    for( i=0 ; i

    {

        scanf("%d", &num);

        switch(num%3)

        {

            case 0:

                threeK[0]++;

                break;

            case 1:

                threeK[1]++;

                break;

            case 2:

                threeK[2]++;

                break;

        }

    }

    printf("%d %d %d", threeK[0], threeK[1], threeK[2]);

    return 0;

}

 我如果把 num 的宣告用 unsigned short 就會有問題,不知道為什麼,請問有人可以幫我解答嗎? 謝謝。

建議是怎樣的型別,在 printfscanf 裡就要有對等的 %,如:

%d : int
%u : unsigned int
%hd: short int
%hu: unsigned short int

 

 
ZeroJudge Forum