検索結果 6055 件

by みけCAT
1日前
フォーラム: C言語何でも質問掲示板
トピック: どうして出力結果がおかしくなるのか教えてください。
返信数: 2
閲覧数: 109

Re: どうして出力結果がおかしくなるのか教えてください。

GetWord関数内において、
入力によっては未初期化の自動変数lenの値が計算に使用されてしまい、未定義動作となります。
例えば、入力の最初の文字が空白などでなかったり、
入力の途中で空白などが2個以上連続せず1個だけ現れた時に、未定義動作となります。
入力にかかわらずlenを初期化してから処理をするようにするといいでしょう。
by みけCAT
3日前
フォーラム: C言語何でも質問掲示板
トピック: タイピングゲーム
返信数: 3
閲覧数: 136

Re: タイピングゲーム

変数nyuが28行目で0に初期化された後、更新されることなく78行目で割る数として使われています。
そのため、ゼロ除算で強制終了すると予測できます。
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
返信数: 25
閲覧数: 704

Re: 配列とfor文を使っているのに画像が一つしか表示されない。

「初期化」のはずなのに毎フレーム呼び出してしまっているため、
最初のキャラクターの種類と情報が破壊されるはずだと思います。
本当にこのソースコードで正常に動作していますか?
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
返信数: 25
閲覧数: 704

Re: 配列とfor文を使っているのに画像が一つしか表示されない。

プログラマ見習いさんに見つけられないだけで、プログラムに間違いがある可能性が高いと考えられます。
差し支えなければ、分割したソースコード(コンパイルできる一式)を見せていただけますか?
また、デバッガが使える環境であれば、デバッグ情報をつけるモードでコンパイルし、デバッガ上で実行することで、
アクセス違反などで強制終了した場所がわかる可能性があります。
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 意図しない出力がでます。
返信数: 4
閲覧数: 260

Re: 意図しない出力がでます。

numはstaticではないので、
keisanが呼び出されるたびに新しいnumが作られ、それに対する書き込みが行われます。
再帰呼び出しした先では新しいnumに対する操作を行い、呼び出し元のnumは参照しません。
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
返信数: 25
閲覧数: 704

Re: 配列とfor文を使っているのに画像が一つしか表示されない。

足りない部分を補完した以下のコードを実行した結果、 フリーズは確認できず、複数の「キャラクター」が動く様子を確認できました。 #include <DxLib.h> const int YHMAX = 15; const int XWMAX = 80 - 1; // なぜか+1されているので、それに合わせて-1する struct ch_num_t { char kind; // 追加したメンバ float x; float y; int body; int anipat; }; struct ch_t { ch_num_t num[YHMAX * (XWMAX + 1)]; } ch; stru...
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 意図しない出力がでます。
返信数: 4
閲覧数: 260

Re: 意図しない出力がでます。

理由は、再帰呼び出ししても呼び出し元のnumは書き換わらないことです。
そのため、whileの条件がひとたび真になると、無限に計算を繰り返してしまいます。
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
返信数: 25
閲覧数: 704

Re: 配列とfor文を使っているのに画像が一つしか表示されない。

提示されたコードでのマップでは、'1'と'A'が合計30個しかなく、
添字として'1'と'A'が有効なのであれば有効になるはずです。
バグがある可能性が否定出来ないので、コンパイル・実行できる形にして試してみます。
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 意図しない処理が行われて先に進みません。。。
返信数: 3
閲覧数: 190

Re: 意図しない処理が行われて先に進みません。。。

手元の環境ではエラーを再現できませんでした。
具体的にどのようなエラーが戻ってくるのか教えていただけますか?
もしよろしければ、エディットボックス内をどう変更したかも教えてください。

ちなみに、sqlite3_errmsgに本来渡すべきと考えられるdbではなくhDllを渡しているのはなぜですか?
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
返信数: 25
閲覧数: 704

Re: 配列とfor文を使っているのに画像が一つしか表示されない。

#11の訂正です。 訂正前:常にマップに'0'を代入する mapdata[y][x] = '0'; if (charaValid) { // キャラクターを取り出していたら、記憶しているキャラクターの数を増やす charaCount++; } 訂正後:キャラクターを取り出した場合のみ、マップに'0'を代入する if (charaValid) { // キャラクターを取り出していたら // マップからキャラクターを消して mapdata[y][x] = '0'; // 記憶しているキャラクターの数を増やす charaCount++; } こうすることで、キャラクター化しない「マップ」の要素にも対...
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
返信数: 25
閲覧数: 704

Re: 配列とfor文を使っているのに画像が一つしか表示されない。

こんな感じにするといいと思います。 (コンパイルしてチェックしていないので、typoなどあったらごめんなさい) int charaCount; // 取り出したキャラクターの数を格納する //●各キャラクターのデータの初期化 void CharaInit() { charaCount = 0; // キャラクターが1個も無い状態にする for (int y = 0; y < YHMAX; y++) { for (int x = 0; x < XWMAX + 1; x++) { char i = mapdata[y][x]; // キャラクターの種類 int charaValid = 0; //...
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: どうしてもエラーの原因がわからないので教えてください。。。
返信数: 4
閲覧数: 262

Re: どうしてもエラーの原因がわからないので教えてください。。。

FindWindowExFindWindowEx関数の呼び出し(全て)において、
未初期化の自動変数の値を関数に渡しているのも良くなさそうですね。
適切に初期化するか、適切な変数(メンバを含む)に置き換えるのが良いでしょう。
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: どうしてもエラーの原因がわからないので教えてください。。。
返信数: 4
閲覧数: 262

Re: どうしてもエラーの原因がわからないので教えてください。。。

API関数はANSI版かUnicode版かを指定していないのに、 文字列はLを使って明示的にUnicode版を指定しているのがよくなさそうですね。 以下の(A)(B)(C)どれか1セットの修正を試してみてください。 (A) 明示的にANSI版を用いる ・関数名(FindWindow, FindWindowEx, MessageBox)の最後に全てAをつける ・文字列の前にあるLを全て削除する (B) 明示的にUnicode版を用いる ・関数名(FindWindow, FindWindowEx, MessageBox)の最後に全てWをつける ・LPCSTRへのキャストを全て削除する (C) コン...
by みけCAT
3週間前
フォーラム: C言語何でも質問掲示板
トピック: 単方向リストの交換
返信数: 20
閲覧数: 794

Re: 単方向リストの交換

かめのこにょこにょこ さんが書きました:
3週間前
・リストの先頭、中間、末尾をさすnode*型変数
さらにヒントとして、最初は先頭を指しているnode*型変数a, bがあるとき、
「aを2回進めてbを1回進める」を繰り返せば、
aが末尾を指す時にbは中間を指しますね。
※何も考えず常に2回進めようとしてしまうと、末尾から飛び出してしまって危険なことがあるので注意
by みけCAT
3週間前
フォーラム: C言語何でも質問掲示板
トピック: 構造体配列の動的確保
返信数: 15
閲覧数: 763

Re: 構造体配列の動的確保

box さんが書きました:
3週間前
Segmentation fault: 11と出ました。
あらら。他の回答者からの回答(そのままコンパイルしたら全角空白のためにエラーが出た)と
食い違ってますね。
全角空白があってもそのまま実行できる処理系もあるので、食い違っているとは限りません。
https://wandbox.org/permlink/h55LBXsvMrPFijHU
by みけCAT
3週間前
フォーラム: C言語何でも質問掲示板
トピック: 変な文字列がcygwinにてあらわされるのを何とかしたいです。
返信数: 5
閲覧数: 476

Re: 変な文字列がcygwinにてあらわされるのを何とかしたいです。

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 コピペミスなのか、main関数の定義がread_data関数の中に入ってしまっていますね。 これではエントリポイントとして認識されないでしょう。 また、C言語では関数のネストはGCC拡張であり、C++では使えないので、 なるべく使わないほうがいいと思います。 さらに、エントリポイントのmain関数の戻り値の型はvoidではなくintにするべきです。 voidだとC言語では処理系依存になり、C++の規格で...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: シンプソン公式
返信数: 8
閲覧数: 766

Re: シンプソン公式

box さんが書きました:
1ヶ月前

コード:

int main(void){
double dean(double,double,double,double);
double a,b,s,dx,y0,y1,x,pi;
こんなところにプロトタイプ宣言を置いちゃっていいんでしょうか。
怒られや減点が発生したりコーディング規約違反になったりするかはわかりませんが、
文法・意味的には全く問題ないはずです。
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 【CSVファイルから読みこんだ文字列の比較】
返信数: 2
閲覧数: 526

Re: 【CSVファイルから読みこんだ文字列の比較】

s1 == s2は文字列の比較ではなく、(配列から変換された)ポインタの比較です。
C言語で文字列を比較するには、strcmp関数を用いるといいでしょう。
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 三角形の積み上げ
返信数: 2
閲覧数: 618

Re: 三角形の積み上げ

うまく作成できるようにやればいいと思います。
参考になると思うので、「二等辺三角形単体であれば問題ない」の状態のコードを提示できますか?

なお、ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: Debug Assertion Failed!
返信数: 13
閲覧数: 539

Re: Debug Assertion Failed!

このプログラムには普通の環境では不正な引用符や、不自然な円マークが含まれており、
コピペではなく新規に打ち直したものであると推測できます。
そのため、本来のプログラムに含まれているtypoが含まれないなど、無効な質問になっている可能性が考えられます。
本当にコンパイル・実行しているプログラムをコピペして提示できますか?

なお、ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 乱数と構造体について教えてください。
返信数: 2
閲覧数: 742

Re: 乱数と構造体について教えてください。

  • 配列zahyoは2要素しかなく、範囲外のzahyo[2]に書き込みをしてしまうため、危険です。
    zahyoの要素数を増やしてください。
  • DXライブラリの機能を使う前には、DxLib_Init()関数を呼ぶべきであると考えられます。
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の ptr-> id = 101; のような表記について
返信数: 2
閲覧数: 819

Re: 構造体の ptr-> id = 101; のような表記について

このプログラムについて質問です. ptr -> id や ptr -> height のような表現はポインタを表していますよね? ポインタptrが指す構造体のメンバを表しています。 このプログラムの場合、ptr -> id はint型、ptr -> height はdouble型で、ポインタを表していません。 実際, printf("%p, %d", ptr->id, *(ptr->id) ); は正しく出力されますが, printf("%d ", ptr->id ); は警告が出て,そのまま実行しても正しく出力されません. どのような警告ですか? 「正しく出力される」とはどのようなものが出...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 構造体とメモリについて質問です
返信数: 12
閲覧数: 1184

Re: 構造体とメモリについて質問です

>intではなくdoubleですね。 違うよ #1 >質問は,a はint型で4biteのはずですが,なぜ a→b のときに 8bite進んでいるのでしょうか? このint ですよ。 まず、double型のメンバbが4の倍数であり8の倍数でないアドレス(メンバaの直後)に配置されず、 8の倍数であり16の倍数ではないアドレスに配置されていることから、 この環境ではdouble型が8バイトアラインメントであることが読み取れます。 構造体中のdouble型メンバであるbを8バイトアラインメントにするため、 構造体A全体が8バイトアラインメント(もしくは8の倍数アラインメント)になると考えられます...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 構造体とメモリについて質問です
返信数: 12
閲覧数: 1184

Re: 構造体とメモリについて質問です

Math さんが書きました:
1ヶ月前
つまり この int は8 バイトアライメント(= 64ビットアライメント)です。
intではなくdoubleですね。
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 再帰関数
返信数: 8
閲覧数: 431

Re: 再帰関数

再帰を使わずに書いてみました。 int型が16ビットの環境では足りません。 int型で少なくとも0~16,777,216の整数を保存できる環境で実行してください。(n<=8の場合) #include <stdio.h> #include <stdlib.h> int main(void) { int n; int i, j; int max; int* data; if (scanf("%d", &n) != 1) return 1; if ((data = malloc(sizeof(int) * n)) == NULL) { perror("malloc"); return 1; } ma...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: [DXライブラリ使用]構造体と管理部を用いたジャンプ処理の実装について
返信数: 6
閲覧数: 322

Re: [DXライブラリ使用]構造体と管理部を用いたジャンプ処理の実装について

以下のコードと画像を追加で用意し、実行してみました。 main.cpp #include <DxLib.h> #include "Player.h" int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { if (ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() != 0) return -1; SetDrawScreen(DX_SCREEN_BACK); int img = LoadGraph("player.png"); Player_t p = {}; Playe...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 実行できません
返信数: 8
閲覧数: 453

Re: 実行できません

もしくは、「まだ実行できない」という認識が「誤り」である可能性が考えられます。
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 実行できません
返信数: 8
閲覧数: 453

Re: 実行できません

Wandboxでは正常に実行できるので、環境が不適切な可能性が考えられます。
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: どなたか教えてください。構造体について
返信数: 9
閲覧数: 618

Re: どなたか教えてください。構造体について

littlestream さんが書きました:
2ヶ月前
27行目の
*(book_list[num])->title = 1;
しまった、確かにここ(の元のコード)は配列に代入していて、提示されたエラーメッセージが出そうですね。
bufが関係していないので、見落としました。
申し訳ありません。
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: どなたか教えてください。構造体について
返信数: 9
閲覧数: 618

Re: どなたか教えてください。構造体について

それっぽいコードが提示されていないので断定はできませんが、
エラーメッセージ通り、strcpy関数ではなく代入演算子で値をセットしようとしたからではないでしょうか?

p.s.
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。

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