
No.4ベストアンサー
- 回答日時:
mfig() で b の値がちゃんと初期化されていないのが原因で、scanf() 等のせいではないですね。
ちなみに私だったら、
int mfig(int a) [
int s = 0;
while(a>0){
a /= 10;
s++;
}
return s;
}
とします。
でもやっぱり基本は分割コンパイルでしょう。それと #include <stdio.h> は main 関数のファイルにいれるべきでしょう。
No.3
- 回答日時:
この場合に使うのは「インクルード」ではなく「分割コンパイル」ではないでしょうか。
「分割コンパイル」でGoogle検索して調べてください。
No.1
- 回答日時:
質問がアバウトすぎます。
せめて問題となるソースを載せてほしいところですね。
すいません。どこまで、載せていいものか迷ったもので・・・。下記に載せます。桁数を数えるプログラムです。
//自作関数が入ったmyfuc.c
intmfig(int);
int mfig(int a){
int b,i=10,s=0;
while(b>0){
b=a/i;
i=i*10;
s++;
}
return s;
}
//mainファイル(成功)
#include<stdio.h>
#include"myfuc.c"
int main(void){
int a,b;
a=100;
b=mfig(a);
printf("桁数は%dです。",b);
}
表示結果:
桁数は3です。
//mainファイル(失敗)
int main(void){
int a,b;
printf("整数入力:");
scanf("%d",&a);
b=mfig(a);
printf("桁数は%dです。",",b);
}
表示結果:
整数入力:100
桁数は0です。
となります。
お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[c++] <pthread.h>がinclude で...
-
” OS ビルド ” の意味が分か...
-
gcc で シフトJISを通す方法を...
-
【VC++6.0(MFC)】警告「LINK : ...
-
ビルドとリビルドの違いを教え...
-
セミコロンについて
-
PRO*C コンパイルエラー
-
コンパイルできない・・。(VC+...
-
VBAを何回も作り直して、容量が...
-
VisualStudio.netでmemcmp関数...
-
クリティカルエラー Expressio...
-
コンパイルエラー:ユーザ定義...
-
C言語でMIDIを鳴らしたいです。
-
Makefile作成時の拡張子.oとは?
-
python エラー
-
アプリケーションのDLLファイル...
-
<unistd.h>をVisualStudioでつ...
-
vb2010にてASPWEBシステムを作...
-
リンカのエラー
-
コールバック関数指定時のエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
” OS ビルド ” の意味が分か...
-
Makefile作成時の拡張子.oとは?
-
VBAを何回も作り直して、容量が...
-
エクセルVBAではRound...
-
マクロ コンパイルがグレーバック
-
C言語でヘッダファイルにグロー...
-
ILSpyで、デコンパイルできない。
-
【VC++6.0(MFC)】警告「LINK : ...
-
「fatal error C1189」を回避す...
-
1 つ以上の複数回定義されてい...
-
クリティカルエラー Expressio...
-
動的な変数名のつけ方について
-
C言語のコンパイルができません
-
C++コンパイル時に『 C1083: in...
-
セミコロンについて
-
他のLinuxでも動くa.outの作り方
-
includeと#include
-
ビルドとリビルドの違いを教え...
-
コンパイルエラー:ユーザ定義...
-
MFCのエラーについて
おすすめ情報