アプリ版:「スタンプのみでお礼する」機能のリリースについて

西暦を入力すると干支が表示されるというプログラムを作りたいのですが、どうしても上手くいきません。どこが間違っているのでしょうか?

#include <stdio.h>
int main(){
int i, first, year;

printf( "西暦を入力して下さい --> " );
scanf( "%d", &year );


first = ( year - 1900)

if( first % 12 == 0 ) {
i = "ねずみ";
if( first % 12 == 1 ) {
i = "うし";
}
if( first % 12 == 2 ) {
i = "とら"; 
}
if( first % 12 == 3 ) {
i = "うさぎ";
}
if( first % 12 == 4 ) {
i = "たつ";
}
 if( first % 12 == 5 ) {
i = "へび";
}
if( first % 12 == 6 ) {
i = "うま";
}
if( first % 12 == 7 ) {
i = "ひつじ";
}
 if( first % 12 == 8 ) {
i = "さる";
}
 if( first % 12 == 9 ) {
i = "とり";
}
if( first % 12 == 10 ) {
i = "いぬ";
}
if( first % 12 == 11 ) {
i = "いのしし";
}
printf( "%d どしです", i )
   }
}

return 0;
}

A 回答 (11件中11~11件)

i をint にしていますから、文字列定数へのアドレスを設定しているのは、おかしいです。


char *i;
にして
printf( "%s どしです", i )
にするといいかもしれません
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!