time関数について・・・

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kkjq

time関数について・・・

#1

投稿記事 by kkjq » 12年前

初めまして,現在C言語を一から勉強しているkkjqといいます.
この度,C言語を学ぶに当たって”●でも分かるプログラミング”というサイトを参考にしているのですが試作プログラムがどうもうまく作れません.
C言語第1部のWhile文の講座ですが,時間関数time()を使い数を数えていきながらその秒数を計るプログラムです.

#include <stdio.h>
#include <time.h> //1970年1月1日0時0分からの秒数

void main()
{
int i=1;
time_t t1,t2;

time(&t1);
while(i<=5000){
printf("%d ",i++);
}
time(&t2);
printf("それぞれ %ld,%ld\n",t1,t2);
printf("かかった秒数%ld",t2-t1);
return ;
}

「現在わかっている点」
time()の引数t1,t2どちらかだけの場合はきちんと結果が表示されます(両方をプログラムに入れると片方の秒数が0になります)
表示される秒数(t1 or t2)は正しいことが確認できています.

※学習環境はVisualStudio2008を使っています.

原因が分からずどうしても気持ち悪いです.アドバイスお願いします

Ryo

Re: time関数について・・・

#2

投稿記事 by Ryo » 12年前

%ldを、%lld(Lが二つ)にしてみてください。

box
記事: 2002
登録日時: 15年前

Re: time関数について・・・

#3

投稿記事 by box » 12年前

提示されているコードは、本当に当該の問題が発生するものですか?
time()の引数に全角文字を含んでいて、コンパイルできないはずです。
当該の問題が発生するコードを
そのまま
コピペしてください。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

jqkk

Re: time関数について・・・

#4

投稿記事 by jqkk » 12年前

>boxさん
&を(このサイトで)半角で入力すると&になって分からなくなるかと思い,その部分だけ変えました
確かに一部に全角あるとタイプミスかと思われても仕方ないかとおもいます・・・

>Ryoさん
ご指摘いただいた方法で無事解決できました

二方ありがとうございました
未熟者ゆえまた何かしらのご機会にお力添えいただくかもしれませんがよろしくお願いします

閉鎖

“C言語何でも質問掲示板” へ戻る