mesoneerのプロフィール

@mesoneer mesoneer
ありがとう数6
質問数0
回答数13
ベストアンサー数
2
ベストアンサー率
20%
お礼率
0%

  • 登録日2008/07/04
  • 性別男性
  • 職業会社員
  • 都道府県岐阜県
  • 問題文に対してこのプログラムは正しいか

    文字列を先頭から1文字ずつ表示する関数を作成せよ。 void gput(const char *s, int speed); ここで、sは表示する文字列、speedはミリ秒単位の表示速度である。たとえば、 gput("ABC", 100); と呼びだすと、まず'A'を表示し、その100ミリ秒後に'B'を表示し、さらにその100ミリ秒後に'C'を表示する。このようにして"ABC"の全文字を表示すると呼び出し元に戻ること。 /* 課題2-1 */ #include <time.h> #include <stdio.h> #include <stdlib.h> /* gput関数の宣言 */ void gput(const char *s, int speed); /* sleep関数の宣言 */ int sleep(unsigned long x); int main (void) { gput("ABC", 1000); return (0); } /* gput関数の定義 */ void gput(const char *s, int speed) { int i; int c = strlen(s); for(i=0; i<c; i++){ putchar(s[i]); fflush(stdout); sleep(speed); } } /* sleep関数の定義 */ 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); } 演習問題に解答が無いので質問します。 呼び出し元に戻ることとは、gput関数を呼び出した後にmain関数に戻ることを言っているのでしょうか。 またsleep関数では、return 0とreturn1を使い分けていますがそれぞれどういった意味があるのですか。 関数の返り値は理解できるのですが、本にmain関数のreturn0についてなど何も触れられていないので混乱しています。

  • いきなり、count++; とありますが?

    有るサイトにあるC言語プログラムの練習問題と回答です。 問題→「数値を繰り返して入力し、0が入力されたら入力を止め、平均値を表示するプログラムを作成しなさい。」 以下回答 1) int sum = 0; 2) int count = 0; 3) int value; 4) for( ; ; ){ 5)  scanf( "%d", &value ); 6)  if( value == 0 ) 7)  break; 8)  sum += value; 9)  count++; 10 } printf( "平均は%d", sum / count ); 以上ですが、プログラムの9)にいきなりcount++; とありますが、入力した回数を記憶する(カウンタ)ためのものだと思います。  5)で繰り返し入力した数が8)で合計され9)のcount++;で入力された回数を記憶させるとの流れだと思います。そこで疑問?ですが、8)で加算された回数を9)でカウンタする場合、プログラム同士を関連づけさせるお膳立て(プロセス)が何か必要だと、素人の私にとりましてそう思えます?流れ的に見て理解できますが、なぜ8)と9)が関連づくのでしょうか?  よろしくお願いいたします。

  • 電圧は勢いに例えられますが・・・・・

    電圧の説明でよく滝の勢いや高いところがら低いところの差として説明されていますが、 わかるにはわかるのですがしっくりきません。 乾電池にもさまざまなボルトがあるので電圧は人工的につくってるわけですよね? プラスの電荷とマイナスの電荷の量の差が電圧なのですか? プラスの電荷とマイナスの電荷が10個と10個よりも100個と100個の方が電圧は大きいってことですか?

  • 電磁気系が分かりません

    半径aの球内にQ[c]の電荷が一様に分布している。b[m]離れた点b,c[m]離れた点cとの電位差Vbcを求めよ。 a.半径からx[m]離れた点xでの電界E(x)をx>a,a>xそれぞれの時について求めよ b.1Cの点電荷をcからbまでを動かすのに必要な仕事が電位差であることを用いてVbcを導き出せ。 aの答えはx>aの時はE(x)=Q/4πεr^2、a>xの時はE(x)=Qa/4πεr^3だと思います。しかしbの答えが2つらしいんです。分かる方教えてください

  • 絶縁抵抗について

    (a) 415V 三相4線式電路の中性線を除く他の電線と大地との絶縁抵抗値は、0.4Ω以上でなければならない。 (b) 415V 三相4線式電路の中性線を除く他の電線相互間の絶縁抵抗値は、0.4Ω以上でなければならない。 これらは 図でいうと、 (a)は一番上の線と大地が絶縁抵抗で繋がってる (b)は一番上の線と一番下(下から2番目でも)の線が絶縁抵抗で繋がってる という認識でよいのでしょうか? それがまだイメージできてないので、どう違うのかが理解できてないので 解き方も含めてアドバイス頂けないでしょうか?