- ベストアンサー
メインルーチンとサブルーチンについて
- メインルーチンとサブルーチンについてご教授ください。例を示していただきたいです。
- また、以下のURLのコードではなぜメインルーチンしか使っていないのでしょうか?ご教授ください。
- URLからのコードの意味についても教えてください。
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (8)
- _kappe_
- ベストアンサー率68% (1529/2227)
- _kappe_
- ベストアンサー率68% (1529/2227)
- _kappe_
- ベストアンサー率68% (1529/2227)
- _kappe_
- ベストアンサー率68% (1529/2227)
- _kappe_
- ベストアンサー率68% (1529/2227)
- BuriBuri4
- ベストアンサー率28% (150/525)
- asuncion
- ベストアンサー率33% (2126/6288)
- asuncion
- ベストアンサー率33% (2126/6288)
関連するQ&A
- メインルーチンとサブルーチンについて。
これについてご教授下さい。例を示していただきたいです。後、以下のURL、はなぜ、メンルーチンしか使っていないのでしょうか?ご教授下さい。 Link: http://codepad.org/Oxfd5gz9
- ベストアンサー
- C・C++・C#
- 【c++】2進数の表示が上手くいきません
サブ関数を利用して、-15~15までの値を1刻みで10進数16進数8進数2進数を表示するプログラムを作っているのですが悩んでいます。 以下のようにやってるのですがデバッグが上手くいきません。 どこが悪いのでしょうか? #include<stdio.h> void sub(int a) { int i,wc; for(i=31;i>=0;i--) { wc=(a>>i)&0x01; if(i%4==3) printf(" "); printf("%1d",wc); } printf("\n"); return; } int main(void) { int wc,a,s,j,b; printf("10進数,16進数,8進数,2進数\n"); for(s=-15;s<=15;s++) { printf("%d %x %o \n",s,s,s); printf("%d\n",sub(a)); } return 0; } 初心者なのでありえない間違えがあるかと思います。 ご教授お願いしますm(_ _)m
- ベストアンサー
- C・C++・C#
- サブ関数、メイン関数
C言語の質問です! ランダムに九九の計算を出題して、キーボードから答えを入力し、正解かどうかを判定するプログラムをつくりたいです。出題の部分をサブ関数、判定の部分をメイン関数として作成する場合、どのようなプログラムの書き方になるのか、教えてください! #include<stdio.h> #include<stdlib.h> #include<process.h> void kakezan(void); void answer(void); void hanrei(void); int a,b,c; int main() { printf("やめるときは、100と入力してください。\n"); while(1){ kakezan(); answer(); hantei(); } return 0; } void kakezan(void) { a=rand() %10; b=rand() %10; printf("%d×%d=",a,b); } void answer(void) { scanf("%d",&c); if(c==100) exit(0); } void hantei(void) { if(c==a*b) printf(">>正解\n"); else printf(">>不正解\n"); printf("\n"); return; } 一応考えてみたのですが、 ちゃんと、判定→メイン 出題→サブ関数になっているのかなとおもって・・・ このプログラムであっているのでしょうか??
- 締切済み
- C・C++・C#
- C言語の参照はずしについて
ソートのプログラムなんですが #include <stdio.h> #include <stdlib.h> int comp(const void *, const void *); int main() { int i; int test[6] = {10, 8, 2, 6, 4, 0}; qsort(test, (size_t)6, sizeof(int), comp); printf("\n"); for (i = 0; i < 6; i++) printf("%d\n", test[i]); return 0; } int comp(const void *a, const void *b) { static int i = 1; printf("%02d--%d,%d\n", i, *(int *)a, *(int *)b); i++; return (*(int *)a - *(int *)b); } 最後のreturnの()の中身がよくわかりません。「参照はずし」という事をしてるらしいんですが「参照はずし」とは何ですか意味も教えてください。
- ベストアンサー
- C・C++・C#
- (void *)と&の違い
#include<stdio.h> void * func(void *p){ printf("□■□func開始□■□\n"); printf("pのアドレス = %p\n",p); printf("p = %d\n",(int)p); (int)p += 100; printf("p = %d\n",(int)p); printf("□■□func開始□■□\n"); return NULL; } int main(void){ int number = 30; printf("numberのアドレス = %p\n",&number); func((void *)number);★1 return 0; } -------------------------------------------------------------- #include<stdio.h> void * func(int *p){ printf("□■□func開始□■□\n"); printf("pのアドレス = %p\n",p); printf("p = %d\n",*p); *p += 100; printf("p = %d\n",*p); printf("□■□func開始□■□\n"); return NULL; } int main(void){ int number = 30; printf("numberのアドレス = %p\n",&number); func(&number);★2 return 0; } 上記の2つは同じ結果になるのですが★1と★2のそれぞれの違いがわかりません。どなたかご教授をお願いします。
- ベストアンサー
- C・C++・C#
- getchar()について 教えてください。
visual studio 2010 professinalで以下のソースをデバッグして ”続行するには何かキーを押してください!” で待機させたいのですが getchar()一個だけでは実現しません。 2個重ねるとOKです。どうしてでしょうか。 -------------- 以下のようにscanf関数がなければokということは突き止めたのですが、、、。 ご教授ください。 #include <stdio.h> int main(void) { int i; printf("なにか数字を入力してください。\n"); scanf("%d",&i); printf("今あなたが入力した数字は%dです。\n",i); printf("続行するには何かキーを押してください!"); getchar(); //getchar(); return 0; } ---------------------------------------------------------------- int main(void) { printf("続行するには何かキーを押してください!"); getchar(); return 0; }
- ベストアンサー
- C・C++・C#
- プログラムの添削
以下のような数当てゲームを作りました.なるべくうまいプログラムを書けるようになりたいのですが,どのような改善点がありますか?よろしくお願いします. /*数当てゲームを作りなさい.*/ #include<stdio.h> void maegaki(void); /*このように関数を定義しまくることに意味はあるのか?main関数はすっきりするけど.*/ void in_check_out(int i); int main(void) { int i; int j; maegaki(); for(j=0;j<10;j++) { scanf("%d",&i); in_check_out(i); if(!(i-1)) return 0; printf("残り%d回です.\n",9-j); } return 0; } void maegaki(void) { printf("数当てゲームをはじめます.\nぼくの好きな整数を当ててください.\nチャンスは10回です.\nヒントはボゾン\n"); } void in_check_out(int i) { if(!(i-1)) { printf("正解!答えは1です.\n"); } else { printf("残念!\n"); if(i>1) printf("%dより小さいです.\n",i); else printf("%dより大きいです.\n",i); } }
- 締切済み
- その他(プログラミング・開発)
- グローバル変数の初期化のタイミング
#include <stdio.h> int i; void main() { int j; printf( "%d\n", i ); printf( "%d\n", j ); } この結果が 0 -85899346 になるのですが グローバル変数 int i は初期化しなくても 0 になるということは 保証されているのでしょうか?
- ベストアンサー
- C・C++・C#
- 正確なあ値でしょうか!?
http://codepad.org/cBK5A67i を使って以下をコンパイルしたところ! No.1 #include <stdio.h> void kansuu(); int main() { kansuu(); return 0; } void kansuu() { printf("kansuu de hyouji\n"); No.2 } #include <stdio.h> void kansuu(); int main() { kansuu(); } void kansuu() { printf("kansuu de hyouji\n"); return 0; } 以上の コンパイルの結果はNo.1、No.2とも kansuu de hyouji となりました。 No.2の結果は 正確な値でしょうか それともバグでしょうか? よろしくお願いします。
- ベストアンサー
- C・C++・C#
- 先輩との付き合いで何か不満がある場合、どのように対処すべきか悩むことはよくあります。
- 相手が自分に無関心であるように感じる場合、自分の思いや意見をしっかり伝えることが大切です。
- しかし、付き合いをやめるかどうかは自分の判断によるものであり、自分自身がストレスを感じるようであれば、それを続ける必要はありません。
補足
160のRETURNはどこに行くのでしょうか?ご教授下さい。すみませんが。