質問: 1; for(i=6-1; i>=0; i--){ dec += bin[i]*weight; weight *= 2; } return dec; } ``` ### 補足情報(言語/FW/ツール等のバージョンなど) コンパイラーはgccです。 OSはlinux(archlinux)です。 ### 追記 >>sharowさんのアドバイスにより追記します。 これは学校の課題ではありません。 初心者なので段階を踏んで行かないとわからなくなってしまうので、メモとしてgnoteに書いてpdfに出力しました。 Base64は「8946」というサイトの序盤に出てきたので興味をもって調べて、C言語でできないかということで作りました。 >>ikedasさんより追記します gitHub上にのファイルを追加しました。(/base64/base64_strlen.c)
回答: ● とりあえずヘッダファイルに関数を書くのはやめよう(第一印象) ● ヘッダで変数を宣言するのはやめよう(extern はもう習われましたか?) ● 大域変数に i, j など局所変数で使われかねない変数名を付けるのはやめよう。 ● 古い環境だとブロックの最初以外での変数の宣言は不正となる可能性がある ● 共用体を習っているなら使ってみよう ● ↑が難しければ構造体で挑戦するのもアリ ● 関数内で宣言した配列の賞味期限はいつまで?(ToBin)