検索結果 1718 件

by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体に入れた文字の出力について
返信数: 2
閲覧数: 572

Re: 構造体に入れた文字の出力について

忍者 さんが書きました: char camera;
sscanf(line, "%d",&pa.camera);
printf("%d\n",pa.camera);
[/code]

char型で定義しているメンバーcameraに整数型で値を読んで整数型で出力しているので、
そうなるのは必然ではないかと。
cameraというメンバーをchar型で扱いたいですか?それともint型などの整数として扱いたいですか?話はそこからです。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 配列とメモリ確保
返信数: 5
閲覧数: 910

Re: C言語 配列とメモリ確保

MFJ-228 さんが書きました:

コード:

    free(a); 
    }

      int i;
      for(i=0; i<n; i++)
         printf("a[%d]=%d\n", i, a[i]);
何だかfreeで領域を解放した後にそこへアクセスしているように見えて仕方がありません。
freeを書くのであれば、もうちょい後ろに置くべきでは?
現状は、プログラムがたまたま落っこちないというだけで、実は非常にまずいように思えます。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタ変数の値渡し
返信数: 3
閲覧数: 776

Re: ポインタ変数の値渡し

るま さんが書きました:ポインタについて勉強したばかりなのですが以下のようにすればaの値が1になるということでよろしいでしょうか?

コード:

p(b);
}
実験してみればいいのに…。printfか何かをかませれば、すぐわかりますよね。

コード:

    printf("%d\n", b);
    printf("%d\n", *b);
とか。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル分割と構造体
返信数: 7
閲覧数: 1492

Re: ファイル分割と構造体

あらい16 さんが書きました: ファイルを分割したときに、複数のソースファイルから一つの構造体でやり取りできるようにしたいと考えているのですがどうにもうまくいきません。
何をしたときにどううまくいかないのかが全くわかりませんので、お答えのしようがありません。
せめて、ソースコードやエラーメッセージを開示してはいただけないでしょうか。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 3×3行列と3×1行列の積を求めるプログラム
返信数: 3
閲覧数: 849

Re: 3×3行列と3×1行列の積を求めるプログラム

字下げ(インデント)の悪いくせが身に付いてしまうと、あとあとやっかいです。 今のうちから、せめて下記の感じくらいに書くようにする方がよいでしょう。 誤解しないでいただきたいのは、「何が何でも下記のように書け」ということではなく (それ言い出すと宗教論争みたくなってしまう)、質問者さんのコードと当方のコードでは どっちが見やすいですか?っていうことです。 あと、少数じゃなくって小数です。少数派とか少数精鋭とかだったら少数でいいんですけどね。 #include <stdio.h> int main(void) { double v[3][3] = { { 0.00003, 0.000144, -0...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: atoiと+でバグります
返信数: 4
閲覧数: 1166

Re: atoiと+でバグります

atoi()に渡す引数の型が違ってるようです。

コード:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int a = 999990;
    char *c = "9";

    a += atoi(c);
    printf("%d\n", atoi(c));
    printf("%d\n", a);
    return 0;
}
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 配列に関する質問
返信数: 3
閲覧数: 926

Re: 配列に関する質問

下記の解答のdo while文の配列の部分(13行目)が「array 」となっています。なぜ「array 」ではなく「i - 1」となるのかがわかりません。確かにこれを入れないと、データの終わりを意味すると問題で指定されている「−1」を入力しても無限ループから抜けられません。 scanf ("%d", &array[i]); ここで、array に値を代入しています。例えばi = 5としましょうか。array[5]に何かが入りました。 i++; ここで、iを1増やしています。iは6になりました。したがって、上で代入したarray[5]の値が-1かどうかを判断するには } while (arr...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: C++のプログラム文の結果が変なのでは?
返信数: 8
閲覧数: 754

Re: C++のプログラム文の結果が変なのでは?

とりあえず言えることは、「プログラムは書いたとおりにしか動かない」ということです。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 『C言語入力した10進数を2進数変換し、出力する
返信数: 7
閲覧数: 1153

Re: 『C言語入力した10進数を2進数変換し、出力する

ぶっさん さんが書きました:

コード:

//負の値はNG
do{
printf("数値を入力してください。:");
scanf("%d",&num);
}while(num>0);
何だかコメントと実装、本当にやりたいこととが食い違っているように見えます。
正の数を入力している間ループする、というのは正しいですか?
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列検索について
返信数: 11
閲覧数: 1073

Re: 文字列検索について

Math さんが書きました:

コード:

#include <stdio.h>
char test1[] = "file"; // char test1[4];==>コンパイラに数えさせる方が安全:test1[5]
char test2[] = "sos filenonfile"; // char test2[16] = "sos filenonfile";==>同上tese2=[17]
せっかくこう書くのであれば、
Math さんが書きました:

コード:

	int n1=4,n2=16,i=0;
	
	for(i=0; (16-i) > 4; i++){
このあたりもコンピューターに数えてもらう方がよくないですか?
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 自作関数について・・・
返信数: 2
閲覧数: 419

Re: 自作関数について・・・

こんな風にしたい、ってことですか? #include <stdio.h> int max2(int a, int b) { int max; if (a > b) { max = a; } else { max = b; } return max; } int main(void) { int a, b; a = 30; b = 34; printf("%d", max2(a, b)); return 0; } だったら、全然問題ありません。 ちなみに、「有効範囲的に」という意味では、上記コードで、main関数におけるa, bとmax2関数におけるa, bとは 全く別物です。 main関数から...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 選択ソートについての質問です。
返信数: 6
閲覧数: 1068

Re: 選択ソートについての質問です。

みけCAT さんが書きました:とりあえず、for文の中に間違って存在するコンマ2個をセミコロンにすれば、コンパイルは通りますね。
21行目と22行目にある } のどっちかがいらない気がする。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: c言語
返信数: 2
閲覧数: 470

Re: c言語

// こんな感じなのかな~という気がしないでもないような気がする #include <stdio.h> #include <string.h> #define N (10) void irekae(char (*a)[N], char (*b)[N]) { char t[N]; strcpy(t, *a), strcpy(*a, *b), strcpy(*b, t); } int main(void) { char a[N] = "book"; char b[N] = "amazon"; printf("a:%s, b:%s\n", a, b); irekae(&a, &b); printf...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: c言語
返信数: 3
閲覧数: 453

Re: c言語

mac さんが書きました:c言語で、4つの自然数a1,a2,b1,b2を入力し、2つの分数 a1/b1,a2/b2 の四則演算を行い、それぞれの式と値を出力するプログラムを作成せよ。という問題についてです。
自然数a1, a2, b1, b2とあるので、とりあえずこれらはint型でしょう。
計算時にdoubleとかfloatとかにキャストする必要はあるにしても。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列
返信数: 3
閲覧数: 553

Re: 文字列

tese さんが書きました: 実行するとエラーが出てどこが間違っているのかがよくわからなくて。。。
どんなエラーが出るのか明記しましょう。
tese さんが書きました:

コード:

char *cswap(char *str, int i, int j); 
この関数、作っただけで呼び出している形跡がないように見えます。それでOKですか?
作ったならばどこかで呼び出す、いらないのならば削除する、どっちかにしましょう。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 質問です
返信数: 1
閲覧数: 326

Re: 質問です

if文でも使えば? #include <stdio.h> int main(void) { int i; for (i = 1; i <= 100; i++) { if ( 1 <= i && i <= 20) putchar('A'); if (21 <= i && i <= 50) putchar('B'); if (51 <= i && i <= 70) putchar('C'); if (71 <= i && i <= 90) putchar('D'); if (91 <= i && i <= 100) putchar('E'); } putchar('\n'); return 0; }
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 教えてください
返信数: 5
閲覧数: 585

Re: 教えてください

データが失われてしまいます そうならないためにはどうしたらいいですか? kがint型なのがおかしい。double型にすべき。 インデントがグッチャングッチャンで見づらい。修正すべき。 (注)-4 -0.19のくだりは、意をくんで直しておいた。 #include <stdio.h> int main(void) { double x[] = { -1, -0.49, 0, -3.1, -8, -3, -7.5, 0, -0.98, -4, -3.21, -4, -0.19, -2.4, -3.1, -3.6, -8.5, -3.7, -1, -5.4 }, t; int i, j, n = s...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: mallocで確保した領域に文字列を
返信数: 3
閲覧数: 390

Re: mallocで確保した領域に文字列を

あまつ さんが書きました:このプログラムでは"あいうえお"に必要な11バイトの領域をmallocで確保しています。が、2バイトや3バイトでもERRORが発生せず、出力されます。
深刻なエラーが出るような領域をたまたま破壊していないだけです。
11バイト確保したならば、そこへ格納できるのは「プログラマーの責任で」11バイトまでです。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 教えてください
返信数: 7
閲覧数: 788

Re: 教えてください

どういう結果がほしいのですか?
例題の座標群で提示してください。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: calc関数
返信数: 6
閲覧数: 847

Re: calc関数

コード:

// 最もシンプルと思われるコード
#include <stdio.h>

int calc(int n)
{
    return (n + 5) * 3;
}

int main(void)
{
    int n;

    printf("input:"), scanf("%d", &n);
    printf("answer:%d\n", calc(n));
    return 0;
}
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: おかしなところがあったらごしてきくださいorz
返信数: 6
閲覧数: 890

Re: おかしなところがあったらごしてきくださいorz

makaraito さんが書きました:

コード:

    if(abs(sum)<=d){
        
    }else{
        while(i>0);
    }
ここの無限ループはいいんですか?
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 至急!!演算子です。初歩の初歩ですみません
返信数: 3
閲覧数: 426

Re: 至急!!演算子です。初歩の初歩ですみません

重隅な話をすると、
ミルキー さんが書きました:

コード:

    int a=0;
    int b=0;
    int C=32;
    a = C/10;
    b = C%10;
aとbの初期化は特にいりません。
なぜなら、すぐ後で、Cを10で割った商やあまりでもって上書きしているからです。
0で初期化してもしなくても同じだったら、「初期化しない」という楽な方を選びたいところです。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: c言語プログラムを作成でわかりません
返信数: 8
閲覧数: 1573

Re: c言語プログラムを作成でわかりません

#if 0 65とか25とかマジックナンバーを書いていたり、mainの型がvoidだったりするのが イヤなので、自分ならこう書く。絶対にこうじゃなきゃいけないことはないのは承知。 #endif #include <stdio.h> #define ALPHABETS (26) int main(void) { int i, j; for (i = 'A'; i < 'A' + ALPHABETS; i++) { for (j = 'A'; j <= i; j++) { putchar(j); } putchar('\n'); } return 0; }
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 新・明解c言語の演習問題での疑問です
返信数: 3
閲覧数: 537

Re: 新・明解c言語の演習問題での疑問です

SZK さんが書きました:質問する際に打ち間違えたようです。
わざわざ手打ちするよりもコピペする方が正確で楽だと思いませんか?
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体配列について
返信数: 4
閲覧数: 498

Re: 構造体配列について

#if 0 どこが間違っているのか分からないので、助言を頂ければ幸いです。 実行例のように,5名分の学生情報(学生番号と氏名)を構造体配列に格納し,表示するプログラムを作成しなさい. 自作の関数を使う必要はありません. 文字列の代入には,標準ライブラリ関数strcpyを使いなさい. すでに記載されている部分は書き換えてはいけません. 実行例 0人目: 学生番号 11001 名前 山田 一郎 1人目: 学生番号 11002 名前 山田 二郎 2人目: 学生番号 11003 名前 山田 三郎 3人目: 学生番号 11004 名前 山田 四郎 4人目: 学生番号 11005 名前 山田 五郎 #e...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 行列とベクトルの積
返信数: 11
閲覧数: 1241

Re: 行列とベクトルの積

あい さんが書きました:

コード:

			 Mat[i][j] * Vec[i];
何か計算はしてますけど、それを「どこにも代入していない」ので、そりゃダメですよね。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: fscanfがうまく動きません
返信数: 5
閲覧数: 657

Re: fscanfがうまく動きません

そもそも
yg さんが書きました:

コード:

	for (int i = 0; i <= 19; i++)memo[i] = NULL;
memo[]を初期化しようとしているのなら、不要です。
どうせfscanf()の呼び出しで初期化の結果を上書きしますので。
それに、char型に、(void *)型のはずのNULLを放り込んでいるのは謎です。
「余分なのはできるだけそぎ落として」所定の目的を達成する、というのがいいんじゃないでしょうか。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: すいません 急ぎで解答をお願いします。
返信数: 5
閲覧数: 651

Re: すいません 急ぎで解答をお願いします。

冷やかしなどはいりません じゃあ、冷やかしでないのを。 #include <stdio.h> #include <string.h> #define LEN (20) typedef struct { char name[LEN]; int price; } Coffee; void get_price(Coffee *coffee, int kind) { char name[LEN]; int weight, i; printf("豆の種類:"), scanf("%s", name); printf("分量(g):"), scanf("%d", &weight); for (i = 0;...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: FOR文で不連続な範囲でLoopしたい
返信数: 13
閲覧数: 1202

Re: FOR文で不連続な範囲でLoopしたい

kaoruh さんが書きました: For(i=220;i<250,i++) {処理式}
を実行してから同じ処理式で、更に
For(i=0;i<50,i++){処理式}
と続けたいばあいにはどうすれば良いでしょうか?
回答のどの場合でも、処理時間はそう変わらんと思うので、素直に

コード:

    for (i = 220; i < 250; i++) {
        // 何かの処理
    }
    for (i = 0; i < 50; i++) {
        // 何かの処理
    }
と書くのがよいと思います。後でそのコードを見たときに「何をしているか」が一目瞭然なはず。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2次元平面上の2点間を計算する関数について
返信数: 2
閲覧数: 448

Re: 2次元平面上の2点間を計算する関数について

// double型にnとかiとかjとかいう変数名を付けているのが何となく違和感があったので、 // 思い切ってそういう変数を使わないようにしてみた #include <stdio.h> #include <math.h> double distance(double *p1, double *p2); int main(void) { double p1[2], p2[2]; printf("点p1の入力\n"); scanf("%lf %lf", &p1[0], &p1[1]); printf("点p2の入力\n"); scanf("%lf %lf", &p2[0], &p2[1]); ...

詳細検索ページへ移動する