掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.24815

return (0); についてです。
投稿者---みかん(2005/12/15 02:54:45)


初歩的なことかもしれませんがどうしてもわからなくお聞きしたいことがあります。どうかよろしくお願いします。 やさしいC(著者)柴田望洋さんの参考書による質問なんですが clock関数によるプログラム起動からの経過時間の取得を求めるプログラムなんですが、↓のソースのsleep関数のreturn (1); のところでなぜ1を返してるのかがわかりません。どなたかわかる方がおられましたら教えてください。m(__)m


/*カウントダウン後にプログラム実行時間を表示*/
#include <time.h>
#include <stdio.h>

/*--- xミリ秒経過するのを待つ ---*/
int sleep(unsigned long x)
{
clock_t c, s = clock();

do{
if ((c = clock()) == (clock_t)-1) /* エラー*/
return (0); /* 正常終了しているのでしょうか?*/

} while (1000UL * (c - s) / CLOCKS_PER_SEC < x);
return (1);   /*←ここでなぜ1を返すのかがわかりません*/ 
}

int main(void)
{
int i;
clock_t c;

for (i = 10; i > 0; i--) {
printf("\r%2d", i);
fflush(stdout);
sleep(1000);
}
printf("\r\aFIRE!!\n");

c = clock();
printf("プログラム開始から%dクロック=%.1f秒経過しました。 \n",c , (double)c / CLOCKS_PER_SEC);

   return (0);
}



この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:return (0); についてです。 24816 まきじ 2005/12/15 03:00:21


No.24816

Re:return (0); についてです。
投稿者---まきじ(2005/12/15 03:00:21)


>if ((c = clock()) == (clock_t)-1) return (0);
>正常終了しているのでしょう

コメントにもある様にエラーの時 0 を返してます。

>return (1);
>ここでなぜ1を返すのかがわかりません

エラーで 0 を返してるので成功の時は 1 を返してます。


この投稿にコメントする

削除パスワード

No.24820

Re:return (0); についてです。
投稿者---みかん(2005/12/15 04:11:39)


なるほど〜わかりました^^ありがとうございます。おかげでスッキリしました!! 本当にありがとうございましたm(__)m


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧