回答数
気になる
-
``` #include <stdio.h> #include <string.h> int mai
``` #include <stdio.h> #include <string.h> int main(void) { char str[] = "str == NULL ? \"(NULL)\" : str"; char* p, * q; int ch; p = str; for (;;) { for (q = p; !(*q == '?' || *q == ':' || *q == 0); q++); ch = *q; *q = 0; printf("|%s|\n", p); if (ch == 0) break; p = q + 1; } } ``` のプログラムをデバッグした際に char str[] = "str == NULL ? \"(NULL)\" : str"; の中身は "str == NULL ? \"(NULL)\" : str" 一回目のループで中身はstr == NULL ? \"(NULL)\" : str、二回目のループでstr == NULL 三回目のループでstr == NULLとなんだか想像したのと違った結果になります。 なぜでしょうか? そして、 こちらのプログラムでは ``` #include <stdio.h> int main(void) { char str[] = "abcde" ; for (char* p = str; *p; ++p) { ++(*p); printf("%s\n", &(*p)); } } ``` str[]の中身はforループによって以下のように変化します。 **char* p = str[]より、str[]の中身はpに代入しているためstr[]に影響はないと思ったのですが。** 最初はchar str[] = { "abcde" };の中身はabcdeでしたが、一回目のループでbbcde、二回目でbccde、三回目bcdde 四回目bcdee ``` bbcde ccde dde ee f ```
質問日時: 2021/02/16 04:59 質問者: captain06
ベストアンサー
2
1
-
#include <stdio.h> int main(void) { char str[] = {
#include <stdio.h> int main(void) { char str[] = { "abcde" }; for (char* p = str; *p; ++p) { ++(*p); printf("%s\n", &(*p)); } } 結果は bbcde ccde dde ee f ただなんでこのような結果になるのか自分で書いて置きながらわからないので、自分なりに解説すると同時に疑問点を上げていきます。 まずchar* p = strより、strに入っている文字列abcdeをchar* p により、ポインタpの指すアドレスの番号ではなく、アドレスに入っている文字列abcde(文字コード)が渡される。そして、for文の++pにより文字列のアドレスに入っている文字コードの数値が+1されるのでポインタpが先頭のアドレスから表す文字列はbcdeとなる、それから*pには文字コードが一つしか入らないようなので、「b」だけが入る、そして、なぜかデバッグの結果より[0]に*pに代入されたbが代入され、 strの中身の数列はbcdeとなっているので、なんで[6]にbが代入されないのかわからないですが、*pに代入されたbが代入されたbが[0]として、bbcdeとなりました。 疑問1 なぜ*pには文字コードが一つしか入らないのか。 疑問2 なぜ[0]に*pに代入されたbが代入されたのか、個人的には文字列は最後に表示するためてっきりbcdebだと思っていました。
質問日時: 2021/02/16 03:54 質問者: captain06
ベストアンサー
6
0
-
&str[i]のアドレスを上げながらメモリに入った数値をそれぞれの値を+1したいのですが、アドレスと
&str[i]のアドレスを上げながらメモリに入った数値をそれぞれの値を+1したいのですが、アドレスと中身の数値を別々にインクリメントするプログラムの書き方がわかりません。 どうかご教示お願いします。 また、 for( char *p=str; *p; ++p ) { ++(*p); } ポインタpのアドレスに入った数値は++pにより増えて、さらに++(*p)の++によりさらに増えるわけですか? 違う場合は コードの処理過程をわかりやすく教えてください。 もう一つ、 char *p = &(str[0]); とはポインタの指す([0]の)アドレスの番号をポインタpの数値の列として代入するという意味でしょうか? 違うならば処理の過程を詳しく教えてください。
質問日時: 2021/02/16 01:43 質問者: captain06
ベストアンサー
1
0
-
str[i] と*(str + i) および &str[i] と str + iと&*(str +
str[i] と*(str + i) および &str[i] と str + iと&*(str + i) は同じですか? 仮にiを+1していくとして、 iが+1されるとstr[i]のポインタのアドレス自体ではなく、 アドレスに入っているメモリの値が+1され、 iが+1されるとつぎのアドレスに移行すると聞いたのですが、それは上の5つのうちどれですか? また、が+1されるとstr[i]のポインタのアドレス自体ではなく、 アドレスに入っているメモリの値が+1され、のは5つのうちどれですか?
質問日時: 2021/02/15 15:30 質問者: captain06
ベストアンサー
1
0
-
str[i] は *(str + i) と同義です。なので iが変化すれば、当然ながら str+i
str[i] は *(str + i) と同義です。なので iが変化すれば、当然ながら str+i は変化します。 # strは変化してません、固定値です。といわれたのですがか、 ですが、&str[i] はアドレスの指す配列を表すので変数iで繰り上げてアドレスを上げるのに、なぜstr[i]だけなのですか?str[i]だけではアドレスの数値を上げられないと思います。 書くならば、(&str + i) ではないのでは?と思いました。
質問日時: 2021/02/15 13:05 質問者: captain06
ベストアンサー
3
0
-
仮に&str[i]のアドレスを上げながらメモリに入った数値をそれぞれの値を+1したい場合は どう書け
仮に&str[i]のアドレスを上げながらメモリに入った数値をそれぞれの値を+1したい場合は どう書けばよいのでしょうか? ++str[i++] または str[i++]++ for ( ... ;str[i]++, i++) の方が明快か。 と解答を頂いたのですが、 補足になってしまい申し訳ないですが、 例えば、*p は str[i]より、ループ三周目のアドレスの指す数値を知りたいときは if (i == 3){ printf("%d\n", str[3]);};と書けばいいのでしょうか? 仮に*p は str[i]よりよりprintf("%d\n", str[3]);の部分のstr[3]のように書くにはどう書けばいいのでしょうか?if (i == 3){ printf("%d\n", *p ==3);};でしょうか? もう一つ、「仮に&str[i]のアドレスを上げながらメモリに入った数値をそれぞれの値を+1したい場合は どう書けばよいのでしょうか? ++str[i++] または str[i++]++ for ( ... ;str[i]++, i++) の方が明快か。と言われたのですが、 アドレスとアドレスの指すメモリの数値を上げるならば、++str[i++] または str[i++]++に&を付けてアドレスとアドレスの指すメモリに入る数値を同時にあげる書き方はないのでしょうか?(なぜ&をつけていないのにアドレスも上がるのか疑問です。) 要は++&str[i++] または &str[i++]++という書き方はないのでしょうか? ただ、アドレスを上げながらアドレスの指すメモリに入った数値を上げる書き方が ++str[i++] または str[i++]++と決まっているならば従うしかないですが。
質問日時: 2021/02/15 01:54 質問者: captain06
ベストアンサー
1
0
-
ちなみに、for (i = 0; str[i] != 0; str[i++])のstr[i] !=
ちなみに、for (i = 0; str[i] != 0; str[i++])のstr[i] != 0;は値がstr[i]に数値の0が入るまでstr[i++]、すなわち、&str[i]のアドレスの指定するメモリの数値を+1するという事でしょうか? 仮に&str[i]自体のアドレスを+1して上げながらメモリに入った数値をそれぞれの&str[i]のアドレスのメモリに入った値を+1したい場合は どう書けばよいのでしょうか? 例題のプログラムを用いて説明して頂けるとありがたいです。 それとも、str[i]はポインタのアドレスに入る数値を表しますが、あるアドレス(例えばアドレス1)のメモリの数値しかあがりません。 では、ほかのポインタのアドレス(例えばアドレス2)のメモリの数値を上げたい場合は 新しくstrA[i]と作り、 for文で(*(&str))++と(*(&str A))++の二つを作ればよいのでしょうか? 出来ればプログラムを書いて頂けるとりかいしやすいです。
質問日時: 2021/02/15 00:55 質問者: captain06
ベストアンサー
1
0
-
CMakeでエラーが出ます
今回、初めてCMakeでC++のビルドを行っています。 実際、ビルドしてみると以下のエラーが出て、どうしたら良いかわかりません。 CMake Error at CMakeLists.txt:1: Parse error. Expected a command name, got unquoted argument with text "!<symlink>��.". ●CMakeLists.txt cmake_minimum_required(VERSION 3.0.0) project(ConvAccelTutorial) set(SOURCE_FILE main.cpp naive.cpp optimized.cpp) find_package(OpenCV REQUIRED) include_directories( ${OpenCV_INCLUDE_DIRS} ) add_executable( ${PROJECT_NAME} ${SOURCE_FILE} ) target_link_libraries( ${PROJECT_NAME} ${OpenCV_LIBRARIES} ) target_compile_options( ${PROJECT_NAME} PUBLIC -Wall -g -Ofast -march=native ) ご存知の方、教えて下さい
質問日時: 2021/02/14 09:18 質問者: matsu77
解決済
4
0
-
Processingのプログラム問題について
Processingについてです。 このプログラム問題について分かる方、いますでしょうか ①~⑧まで埋める問題になってます。
質問日時: 2021/02/12 23:36 質問者: Losteth89
解決済
1
0
-
コンボボックスの項目変更
C#です。 項目変更をプログラムからしても、画面上の表示はそのままです。 プルダウンメニューの表示を書き換える方法を教えてください。
質問日時: 2021/02/12 21:51 質問者: 7777777v
解決済
1
0
-
cin.peek() cin.ignore(100,'\n')
c++を勉強していて、cin.peekとcin.ignoreいうのが出てきました。自分で調べてみたのですがどうにも理解できませんでした。ざっくりでいいのでどのようなものなのか説明していただければ幸いです。
質問日時: 2021/02/12 06:14 質問者: yuuuuki1021
ベストアンサー
2
0
-
C# Windows form Application データグリッドビューに関する質問です。 Da
C# Windows form Application データグリッドビューに関する質問です。 DataGridView にPostgreSQLからデータを表示させています。 これを列をクリックで1行選択した場合、そのデータをテキストボックス等のコントロールに表示させたいです。 ※チェックボックスをつけると、見た目的にも分かり易いと思い1行目にチェックボックスを追加しました。 その状態でSQLのデータを表示させることはできましたが、チェックボックスをオンにするイベントが分からず、止まっています。 アドバイスお願いいたします。
質問日時: 2021/02/12 05:58 質問者: 0987654321adgjmptw
ベストアンサー
1
0
-
ドラッグしたファイル名を取得するCプログラム(LINUX)
ドラッグしたファイル名を取得するCプログラムはWindowsでは、 #include <stdio.h> int main(int argn, char *argv[]) { if(argn != 2) { printf("本プログラムにファイルをドラッグしてください\n"); return -1; } printf("ドラッグしたファイルは%sです\n",argv[1]); return 0; } で動作しますが、これと同じことがLINUX MINT でできる、プログラムの書き方がわかりません。 <症状> このプログラムをgcc でコンパイルしてできた a.out をターミナルから ./a.out hoge.dat すると ドラッグしたファイルはhoge.datです とwindows版と同じように表示されますが、 hoge.dat をa.out にドラッグしても何も起こりません。 C言語の問題というより、OSのインタフェースの違いということも承知していますが、こちらのカテに質問してみました。 よろしくお願いします。
質問日時: 2021/02/10 07:41 質問者: usa3usa
ベストアンサー
4
0
-
C言語のプログラムについての質問です
名前:A, B, Cの3人の身長を入力し、身長の低い人から順番に名前を出力して、同時に平均身 長を表示するプログラムを作りたいのですが、どう書けばよいかわからないです。 教えていただけると幸いです
質問日時: 2021/02/08 22:08 質問者: ぺんぎn
解決済
8
0
-
プログラミング(c言語)でのソートについての質問です。 「名前 国語の点数 数学の点数 理科の点数」
プログラミング(c言語)でのソートについての質問です。 「名前 国語の点数 数学の点数 理科の点数」 が15列分並んでいるファイルがあります。 これをプログラム内に読み込んで、数学の点数を降順に並び替えた(同点の場合理科の点数で並び替える)のを基準に、他のデータも入れ替えた結果を書き出すプログラムを作りたいのですが、数学の点数を入れ替えるときに他のデータも入れ替える方法が思い浮かびません、、、 どのような方法があるでしょうか??
質問日時: 2021/02/06 19:36 質問者: そらじろーのすけ
解決済
1
0
-
typedefの使い方
Cの構造体の定義で、 typedef struct Eyesight { int no; float right; float left; } Eyesight; と書いた場合、 Eyesightがstruct Eyesightに変換されると思うのですが、 タグ名無しで、 typedef struct { int no; float right; float left; } Eyesight; と書いた場合、 Eyesightは、struct { int no; float right; float left; } に変換されると思って良いのでしょうか?
質問日時: 2021/02/05 20:04 質問者: tmiyoshi
解決済
7
0
-
モバイルCで バッテリーの状態をCSVファイルに落としたい
androidのスマホでバッテリーの充電率をCSVファイルに落としたいと考えています。 現在のバッテリーのパーセントの状態を取得する関数を知りたいです。 そこで一定時間ごとに、その時の時間と充電率を1つ目のファイルにCSVファイルで取得することと 充電率が変化した時に、時分秒と充電率をCSVファイルに落としたいです。
質問日時: 2021/02/05 11:58 質問者: LHS07
解決済
1
0
-
C言語 バイナリファイルの読み込みとその後の処理について
プログラム初心者です。 写真等のファイルをバイナリデータで読み込んで暗号化の変換して出力したいと思っています。 ECBモードとかCBCモードのように 配列16バイト単位で暗号化の関数は作ったのですがどう読み込んで処理していいかわかりません。 #include <stdio.h> #include <stdlib.h> #include"test1.h" int main(){ int i,j; FILE* fp1,*fp2; unsigned char yomikomi[16]= {0}; //16バイト読み込み用(関数用でファイルから読み込む際に 使用していた) unsigned char key[16]= {0}; unsigned char syuturyoku[16]= {0}; //関数からの出力 unsigned char ioutput[16]; unsigned char buff[?][?]; // ファイルから読み込む16バイト分を格納する配列? fp1 = fopen( "syasin.jpg", "rb" ); if( fp1 == NULL ){ printf( "ファイルオープンに失敗しました。\n" ); exit( 1 ); } fread( test, sizeof(char), sizeof(test), fp1 ); } fclose(fp1); fp2 = fopen( "kekka", "wb" ); if( fp1 == NULL ){ printf( "ファイルオープンに失敗しました。\n" ); exit( 1 ); } ファイルサイズ分読み込んで for(i=0;i< ;i++){ kannsuu(yomikomi,key,syuturyoku); } 16バイトずつ読み込んで関数に入れて値を返す もしくは関数から出たものとまた処理を加えて繰り返す。 最後に結合してファイルに出力したいです。 その他疑問点:足りない場合はパディング?処理をしないと処理できない? ご教授よろしくお願いします。
質問日時: 2021/02/04 20:06 質問者: jenseits
ベストアンサー
2
0
-
#include <stdio.h> #include <string.h>int main(voi
#include <stdio.h> #include <string.h>int main(void){ char str[] = "str == NULL ? \"(NULL)\": str"; char *p, *q; int ch; p = str; for(;;){ for(q=p; !(*q=='?' || *q==':' || *q==0); q++) ; ch = *q; *q = 0; printf("|%s|\n", p); if(ch==0) break; p = q+1; } } において、 なぜprintf("|%s|\n", *p);では駄目なのかわかりません。 ポインタに入ったメモリに保存された文字にしかprintfは対応していないためでしょうか?(そういう仕様なのでしょうか?) やはりポインタを使わないと printf で文字や文字列を表できるのでしょうか? また似たようなプログラムにおいて、別のプログラムなのですが。 #include <stdio.h>#define STR "Kitty on your lap"int main() { int i , j; printf("Kitty on your lap%n\n", &i); printf("%nKitty on your lap\n", &j); printf("i = %d , j = %d", i , j); return 0; } において、 printf("Kitty on your lap%n\n", &i);とありますが、例題より、p は &str[0] (アドレス)より、&iはポインタですが、やはりポインタを使わないとの数値を表示できないのでしょうか? 最後に文字や文字列をのアドレスをprintfに渡す場合はポインタpと書き、iなどの数値などのアドレスを表す場合は &i のように書くのですか? 基礎的な質問ですが、是非細かく 詳しく教えて頂きたいです。 でもprntfはポインタなしでも文字を表示できますよね。なのに何故ポインタを使わないと文字や文字列が表示できないのか、、、 混乱してきました。
質問日時: 2021/02/04 18:18 質問者: captain06
ベストアンサー
6
0
-
C# 二次元配列 ドット絵の表示について
現在C#でプログラミング基礎から学んでいる文系のモノです。 Paizaラーニング上でC#入門編を行っており、 その中の、二次元配列の講座の部分で理解できなかった点があり質問させていただきます。 string[][] areaMap = new string[5][]; for (int i = 0; i < areaMap.Length; i++) { areaMap[i] = new string[10]; } for (int i = 0; i < areaMap.Length; i++) { for (int j = 0; j < areaMap[i].Length; j++) { if(i % 2 == 0 && j % 2 == 0) { areaMap[i][j] = "+"; } else { areaMap[i][j] = "."; } Console.Write(areaMap[i][j]); } Console.WriteLine(); } 上記のコードは、下記のドット絵を表示する処理になっております。 +.+.+.+.+. . . . . . . . . . . +.+.+.+.+. . . . . . . . . . . +.+.+.+.+. 私のイメージとしては、上記のドット絵は下記のような、配列で表示されていると考えております。 i,j areaMap[0] = 0,0 0,1 0,2 0,3 0,4 areaMap[1] = 1,0 1,1 1,2 1,3 1,4 areaMap[2] = 2,0 2,1 2,2 2,3 2,4 areaMap[3] = 3,0 3,1 3,2 3,3 3,4 areaMap[4] = 4,0 4,1 4,2 4,3 4,4 今回理解できなかった点が、if(i % 2 == 0 && j % 2 == 0) この処理です。 i % 2 == 0 という部分は、横の列に対して指定しているという事は理解できていますが、 j % 2 == 0 という部分が、自分の考えている処理と違う為、 なぜこう表示されているのかいまいち理解が出来ていません。 私の考えでは、if(i % 2 == 0 && j % 2 == 0) この処理で表示されるドット絵は下記の様になると思っていました。 ++ .. ++ .. ++ . . . . .. .. .. ++ .. ++ .. ++ . . . . .. .. .. ++ .. ++ .. ++ 言語化するとすれば、iの部分で偶数列が指定され、 尚且つjも偶数の部分のみ+で表示すると解釈しました。 areaMap[0] = 0,0 0,2 0,4 areaMap[1] = areaMap[2] = 2,0 2,2 2,4 areaMap[3] = areaMap[4] = 4,0 4,2 4,4 長文での質問で申し訳ございません。 私の考え方が間違っていると思うのですが、どなたか今一度訂正及び、 ドット絵の表記がなぜ一番初めに先述したようなドット絵になるのか、 ご教授いただければ幸いです。
質問日時: 2021/02/04 12:54 質問者: big-D
解決済
2
0
-
ベストアンサー
4
0
-
【C/C++】読み取ったバイナリデータの値によって、処理を条件分岐させたい。
お世話になります。 あるファイルを展開するソフト(作者は別の方(連絡不可能))に機能を追加したいのですが、条件分岐のコードの記述方法があまり理解できていないので、詳しく教えていただきたいです。 ■ やりたいこと ※ fread関数やfseek関数などを使うのだろうという推測はしてます。 質問のタイトルの通りですが、詳しく書くと・・・ ・33~42byte目の所の値がFFで埋められていたら、Xの処理を実行する。 //--------- if(/*条件分岐のコード*/){ printf("Xの処理中・・・\n"); // Xの処理コードを記述予定 } //--------- ■ 現在できていること ・ファイルポインタの宣言。 ・ファイルをバイナリモードで開き、先頭64byteを読み込む。 初歩的な質問だと思うのですが、どうかよろしくお願い致します。
質問日時: 2021/02/03 21:46 質問者: _raven_
解決済
2
0
-
C# リフレクションについて
お世話になっております。 C#のリフレクションについて質問です。 現在あるジェネリック型クラスからプロパティを取得する仕組みを構築しております。 ジェネリック型クラスは元々普通のクラス構造を持っており、以下のような内容です。 ------------------ class A { public List<XX> obj1 { get; set; }; // XXはクラス型 public List<ZZ> obj2 { get; set; }; // ZZはクラス型 } ------------------ このデータを渡された側は、ジェネリック型のためクラスの構造は不明。 その為、以下のように「class A」とそのプロパティの内容を特定しました。 ------------------ var type = typeof(T); List<PropertyInfo> infos = type.GetProperties().ToList(); ------------------ ただ、ここからが問題となっており、「class A」の「obj1」「obj2」プロパティのクラス構造を解析しようとして、同様に上記infosに対して「type.GetProperties().ToList();」を実行してみたところ、元々infosが「PropertyInfo」型なので、そちらのメンバが取得されてしまいます。 説明がややこしくて申し訳ありませんが、このような状況下で「obj1」「obj2」のクラス構造を解析することは可能でしょうか? お手数ですが、よろしくお願いいたします。
質問日時: 2021/02/03 18:51 質問者: sakruaw
ベストアンサー
2
0
-
iPadでのC#で作成したWebページのアクセスについて
Windows2016、IIS、開発言語(C#)で、あるWebシステムを構築しています。 このWebシステムにユーザからiPadでアクセスできるようにできないかという問い合わせを受けています。(ブラウザはSafariの前提)。 当該システムはiPadでの利用は考慮しておりませんが可能でしょうか。(データ参照・更新を実施しています。)また、Webページへのデータ入力、描画等も問題なく可能でしょうか。なんとなく参照は可能なだと思いますが、データ入力、描画がプログラムを修正しないとうまくいかないような気がしています。 お手数ですが回答を頂ければと思います。
質問日時: 2021/02/03 00:43 質問者: aikibon
ベストアンサー
3
0
-
SqlServerのトランザクションについて。 SqlServerのデータを取得・更新・追加するGU
SqlServerのトランザクションについて。 SqlServerのデータを取得・更新・追加するGUIアプリをc#で作成しています。※このアプリを使用ユーザーは不特定多数。 データを取得し更新する操作があります。取得の際に取得行をロック(UPDLOCK)しています。 この時のアプリ操作として、取得ボタン押下〜更新ボタン押下までの処理について質問です。 現状は、以下のような処理にしています。 1、取得ボタン押下の際の処理でトランザクションを開始。 2、(ユーザーにて編集作業)←この間、トランザクションはコミットせず保持したまま 3、更新ボタン押下でトランザクションをコミット 質問①:この処理は一般的に正しいやり方でしょうか。問題なくやりたいこと(ロックはうまく機能し他ユーザーから対象レコードを閲覧できないこと)はできています。 質問②:SqlCommandのトランザクションタイムアウトは規定が1分となっているようですが、1分経ってもトランザクションは保持されたままになっています。自動でロールバックしないのはなぜでしょうか。 少し長くなりましたが、よろしくお願い致します。
質問日時: 2021/02/02 21:40 質問者: monapiii
ベストアンサー
3
1
-
配列とポインタについて、 abcをポインタで指定して [a(ポインタで指定されたアドレス1)][b(
配列とポインタについて、 abcをポインタで指定して [a(ポインタで指定されたアドレス1)][b(アドレス2)][c(アドレス3)]とポインタで指定されたアドレスを先頭に配列にabcが入るのでしょうか? ポインタpがアドレスを振り、 そのアドレスの振られた配列(アドレス)から文字列の文字が一文字ずつ入るという理解は正しいですか?
質問日時: 2021/02/01 23:10 質問者: captain06
ベストアンサー
2
1
-
ベストアンサー
2
1
-
GDBの書き方
GDBに詳しい方、教えてください。 gdb8.2.1(gccは8.3.0を使っています。)を使っているのですが、以下のアセンブルコードのデバッグで、以前の32ビットのヴァージョンでの表示の書き方ができなくなっている様なのですが、64ビットのヴァージョンでは以下の(1)〜(3)は、どの様に書いたら良いのでしょうか? (1)(gdb) x/w &num 変数numのアドレス値の内容を表示するのですが、 「Can't take address of "num" which isn't an lvalue.」 となってしまいます。 (2) (gdb) print num 変数numの内容を表示($1 = 6)するのですが、 $1 = num となってしまいます。 (3) (gdb) print/c (char[6])string 配列stringの要素を6つのchar型と仮定して表示するのですが、 Invalid cast. となってしまいます。 (アセンブルコード) .file "examgdb.s" .data num: .long 0x6 string: .ascii "abcdef" iarray: .word 0x1234, 0x5678, 0x9abc, 0xdef0, 0x1234, 0xffff .text .globl main main: movl $0, %esi looptop: movb string(%esi), %al movw iarray( , %esi , 2 ), %dx incl %esi cmpl num, %esi jb looptop endloop: ret
質問日時: 2021/02/01 20:12 質問者: tmiyoshi
ベストアンサー
2
0
-
#include <stdio.h> #include <string.h> int main(vo
#include <stdio.h> #include <string.h> int main(void){ char str[] = "str == NULL ? \"(NULL)\" : str"; char *p, *q; int ch; p = str; for(;;){ for(q=p; !(*q=='?' || *q==':' || *q==0); q++) ; ch = *q; *q = 0; printf("|%s|\n", p); if(ch==0) break; p = q+1; } } のプログラマの細部にわたるポインタや文字列、アドレスなどわけがわからなくなってきました。 なぜアドレスを++するのに*q++ではなく、 q++なのか、p = q+1;は文字列の何を+しているのか、混乱しています。 どうか図を使って解説して頂けないでしょうか?
質問日時: 2021/02/01 12:59 質問者: captain06
ベストアンサー
9
0
-
プリプロセッサの使い方
プリプロセッサの使い方での確認なのですが、 #define A #if defined(A) 処理(1) #else 処理(2) #endif と書いた場合、Aに何も定義していないので、処理(2)が実行されると言う理解で良いですか? また、 #ifdef A #else #endif と書いた場合と何が違うのですか?
質問日時: 2021/02/01 11:23 質問者: tmiyoshi
ベストアンサー
5
0
-
char my_str2(const char* s1, const char* s2)//ここで入
char my_str2(const char* s1, const char* s2)//ここで入力した文字列と用意された文字列を引数として扱う。 { const size_t a = strlen(s2); //無限ループする。 for (;;) { //関数memcmpの返り値が0の時は一致した時なので、==0とする。 if (memcmp(s1, s2, a) == 0) return 1;//入力した文字列にい指定された文字列が入っていた場合は1を返すように設定した。 //入力した文字列が最後の文字まで到達した場合は一致する文字列がないということなので0を返すようにした。 else if (*s1 == '\0') return 0;//入っていなかった //文字列が一致した場合でも一致する文字列がない場合でも入力した文字列の一文字分の文字コードのバイト数?が繰り上がるようにした。 else ++s1; } } において、なぜconst size_t a = strlen(s2); for (;;) { if (memcmp(s1, s2, a) == 0) を加える必要があるのですか? なんのために、s2のバイト数をもとめaに代入して、if (memcmp(s1, s2, a) == 0)の形にしたのかわかりません。
質問日時: 2021/01/31 22:25 質問者: captain06
ベストアンサー
3
1
-
#include <stdio.h> #include <string.h> void main(v
#include <stdio.h> #include <string.h> void main(void){ char str[] = "str == NULL ? \"(NULL)\" : str"; char *p; p = strtok(str, "?:"); while(p) { printf("|%s|\n", p); p = strtok(NULL, "?:"); } } 以上のプログラムをもっと簡単に長くなってもいいので書き換えられないでしょうか? またこのプログラムは何をするプログラムですか?
質問日時: 2021/01/31 13:20 質問者: captain06
ベストアンサー
3
1
-
C言語 巡回セールスマン問題 2-opt法
タイトルにあるプログラムを書いたときに,予期せぬ結果になってしまうので, どこがどのように違うのか,どうすればよいのかを教えていただきたいです. 申し訳ないのですが見ていただけたら嬉しいです. コンパイルでエラーはでません. 文字数が足りないので,求める結果と現在の結果は補足に載せます. 以下,ソースコード #include <stdio.h> #include <stdlib.h> #include <math.h> #define N 5 /* 都市の数 */ /* 都市の座標構造体 */ struct City{ int x, y; }; /* 問題情報構造体 */ struct TSP { struct City city[N]; /* 都市の位置 */ int currentOrder[N]; int changedOrder[N]; /* 巡回順 */ float currentCost; float changedCost; /* 総移動距離 */ }; /* 関数の宣言 */ void ReadData(struct TSP *tsp); void ShowData(struct TSP *tsp); void TwoOpt(const int currentOrder[N], int changedOrder[N], int x1, int x2); float CalcDistance(struct City a, struct City b); void currentOrder(struct TSP *tsp); void CalcCost(struct TSP *tsp); int UpdateOrder(struct TSP *tsp, int x1, int x2); void ShowCost(struct TSP *tsp); /* * メイン関数 */ int main() { struct TSP tsp; ReadData(&tsp); ShowData(&tsp); currentOrder(&tsp); ShowCost(&tsp); return 0; } /* * 都市座標データ読み込み */ void ReadData(struct TSP *tsp) { /* ファイルオープン */ FILE* fp = fopen("cities05.csv", "r"); if (fp == NULL) { printf("Can't open data file.\n"); } /* データ読み込み */ int i; for (i = 0; i < N; i++) { fscanf(fp, "%d,%d\n", &tsp->city[i].x, &tsp->city[i].y); } fclose(fp); } /* * 都市座標データ表示 */ void ShowData(struct TSP *tsp) { int i; /* データ表示 */ printf("Cities location:\n"); for (i = 0; i < N; i ++) { printf("C%-2d : %4d,%4d\n", i + 1, tsp->city[i].x, tsp->city[i].y); } } /* * 2-opt関数 */ void TwoOpt(const int currentOrder[N], int changedOrder[N], int x1, int x2) { int i = 0; while(1){ if(currentOrder[x1+i] == currentOrder[x2-i]){ changedOrder[x1+i] = currentOrder[x1+i]; break; } else{ changedOrder[x2-i] = currentOrder[x1+i]; changedOrder[x1+i] = currentOrder[x2-i]; i++; } } for(i = 1; i<=x1; i++){ changedOrder[x1-i] = currentOrder[x1-i]; } for(i = 1; i<=N-x2-1; i++){ changedOrder[x2+i] = currentOrder[x2+i]; } } /* *現在の巡回順 */ void currentOrder(struct TSP *tsp) { int currentOrder[N]; int i; for (i = 0; i < N; i++) { currentOrder[i] = i; } } /* * 総移動距離を計算する */ void CalcCost(struct TSP *tsp) { int i; tsp->currentCost = 0; for (i = 0; i < N; i++) { if(i == N-1){ tsp->currentCost += CalcDistance(tsp->city[tsp->currentOrder[i]], tsp->city[tsp->currentOrder[0]]); } else{ tsp->currentCost += CalcDistance(tsp->city[tsp->currentOrder[i]], tsp->city[tsp->currentOrder[i+1]]); } } tsp->changedCost = 0; for (i = 0; i < N; i++) { if(i == N-1){ tsp->changedCost += CalcDistance(tsp->city[tsp->changedOrder[i]], tsp->city[tsp->changedOrder[0]]); } else{ tsp->changedCost += CalcDistance(tsp->city[tsp->changedOrder[i]], tsp->city[tsp->changedOrder[i+1]]); } } } /* * 2都市間の距離を計算 * 引数:struct City a : 都市1 * 引数:struct City b : 都市2 * 戻り値:距離 */ float CalcDistance(struct City a, struct City b) { float distance; distance += sqrt(pow((a.x - b.x), 2) + pow((a.y - b.y), 2)); return distance; } /* * 巡回順と総移動距離を表示 */ void ShowCost(struct TSP *tsp) { int i; int x1, x2; int currentOrder[N], changedOrder[N]; /* x1, x2 のキーボード入力 */ printf("Please enter x1 and x2\n"); printf("x1 = "); scanf("%d", &x1); printf("x2 = "); scanf("%d", &x2); printf("Current order: "); for (i = 0; i < N; i ++) { printf("C%-2d> ", currentOrder[i] + 1); } printf("C%-2d Current cost = %7.1f\n", currentOrder[0] + 1, tsp->currentCost); TwoOpt(currentOrder, changedOrder, x1, x2); printf("Changed order: "); for(i = 0; i < N; i ++) { printf("C%-2d> ", changedOrder[i] + 1); } printf("C%-2d Changed cost = %7.1f\n", changedOrder[0] + 1, tsp->changedCost); }
質問日時: 2021/01/31 13:10 質問者: shiomiso
解決済
5
0
-
#pragma warning(disable: 4996) #include <stdio.h>/
#pragma warning(disable: 4996) #include <stdio.h>// puts, printf #include <string.h>// strcpy, strtok int main() { const char* str = "abc:123\n,tdef:45,ghi:678."; char buf[1024], * p; strcpy(buf, str); puts("-- \"\\n\"--"); p = strtok(buf, "\n"); while (p) { printf("[%s]\n", p); p = strtok(NULL, "\n"); } strcpy(buf, str); puts("-- \"\t\"--"); p = strtok(buf, "\t"); while (p) { printf("[%s]\n", p); p = strtok(NULL, "\t"); } strcpy(buf, str); puts("-- \",\"--"); p = strtok(buf, ","); while (p) { printf("[%s]\n", p); p = strtok(NULL, ","); } strcpy(buf, str); puts("-- \",\\t\\n\"--"); p = strtok(buf, ",\t\n"); while (p) { printf("[%s]\n", p); p = strtok(NULL, ",."); } } について、なぜ 二つ目の出力は/tがないのに [abc:123] [,tdef:45,ghi:678.] ではなく、 [abc:123 ,tdef:45,ghi:678.] なのですか? もう一つ、三つ目の出力はなぜ [abc:123] [tdef:45] [ghi:678] ではなく [abc:123 ] [tdef:45] [ghi:678.] なのでしょうか? どうかわかりやすく教えてください。
質問日時: 2021/01/30 06:12 質問者: captain06
ベストアンサー
2
0
-
解決済
1
0
-
#pragma warning(disable: 4996) #include <stdio.h>/
#pragma warning(disable: 4996) #include <stdio.h>// puts, printf #include <string.h>// strcpy, strtok int main() { const char* str = "abc:123\n,tdef:45,ghi:678."; char buf[1024], * p; strcpy(buf, str); puts("-- \"\\n\"--"); p = strtok(buf, "\n"); while (p) { printf("[%s]\n", p); p = strtok(NULL, "\n"); } strcpy(buf, str); puts("-- \"\t\"--"); p = strtok(buf, "\t"); while (p) { printf("[%s]\n", p); p = strtok(NULL, "\t"); } strcpy(buf, str); puts("-- \",\"--"); p = strtok(buf, ","); while (p) { printf("[%s]\n", p); p = strtok(NULL, ","); } strcpy(buf, str); puts("-- \",\\t\\n\"--"); p = strtok(buf, ",\t\n"); while (p) { printf("[%s]\n", p); p = strtok(NULL, ",."); } } に関して、 strcpy(buf, str); puts("-- \"\\n\"--"); p = strtok(buf, "\n"); while (p) { printf("[%s]\n", p); p = strtok(NULL, "\n"); } strcpy(buf, str); puts("-- \"\t\"--"); p = strtok(buf, "\t"); while (p) { printf("[%s]\n", p); p = strtok(NULL, "\t"); } strcpy(buf, str); puts("-- \",\"--"); p = strtok(buf, ","); while (p) { printf("[%s]\n", p); p = strtok(NULL, ","); } strcpy(buf, str); puts("-- \",\\t\\n\"--"); p = strtok(buf, ",\t\n"); while (p) { printf("[%s]\n", p); p = strtok(NULL, ",."); } が -- "\n"-- [abc:123] [,tdef:45,ghi:678.] -- ""-- [abc:123 ,tdef:45,ghi:678.] -- ","-- [abc:123 ] [tdef:45] [ghi:678.] -- ",\t\n"-- [abc:123] [tdef:45] [ghi:678] となる過程の処理と理由がさっぱりわかりません。 どうかわかりやすく教えて頂けないでしょうか。 どの変数に何が代入され、どのように値が移動するかを詳しく知りたいです。
質問日時: 2021/01/29 06:52 質問者: captain06
ベストアンサー
2
1
-
Cプログラム 関数化
ポインタ勉強中です。 これを関数にしたいのですが ファイルからaとa2を読み込んで その値をmainでまた別の関数に入れようと考えています。 #include <stdio.h> int main(){ int i, j; unsigned char a[16]= { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}; unsigned char a2[16]= { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}; unsigned char b[4][4], a3[4][4], c[4][4];//配列格納用 /* インプット */ for(i = 0; i < 4; i++){ for(j = 0; j < 4; j++){ b[i][j]=a[i+(j*4)]; printf(" %02x",b[i][j]); } printf("\n"); } printf("\n"); for(i = 0; i < 4; i++){ for(j = 0; j < 4; j++){ key1_1[i][j] = a2[i+(j*4)]; printf(" %02x",a2[i][j]); } printf("\n"); } printf("\n"); for(i = 0; i < 4; i++){ for(j = 0; j < 4; j++){ c[i][j] = (b[i][j] ^ a3[i][j]); } } } このような感じにしたいです。 int main(){ int i,j; unsinged char bin1[16]={0}; unsinged char bin2[16]={0}; ファイル読み込み 省略 kansuu(bin1,bin2,hoge); for(i=0,i<4;i++){ for(j=0,j<4;j++){ printf("%02x",hoge[i][j]); } } void kansuu(unsigned char a,unsigned char b,unsigned char c){ 3つ用意してa,bを入れるとcが返ってくるような もしくはそのほかいい方法があれば教えていただけるとありがたいです。
質問日時: 2021/01/28 20:14 質問者: jenseits
ベストアンサー
3
0
-
Cプログラムについて
以下の記述は半径を実数値で入力して、円の面積を計算し表示するプログラムを関数を多用して作成しているところである。リストに書かれた指針(/* */に書かれた内容)に沿って口内に正しい字句を記入せよ。 #include <stdio.h> /*「半径を入力してください」というメッセージだけを画面に表示する関数のプロトタイプ宣言:関数名はmessageとする*/ void message(void); /*実数値の半径をキーボードから読み込み、その値を戻り値として返す事だけをする関数のプロトタイプ宣言:関数名はhankeiとする*/ double hankei(void); /*半径を引数として受け取り、円の面積を計算してその結果を戻り値として返す事だけをする関数のプロトタイプ宣言:関数名はmensekiとする*/ double menseki(double r); /*円の面積を引数として受け取り、その値を「面積は○○です。」とだけ画面に表示する関数のプロトタイプ宣言:関数名はhyoujiとする*/ void hyouji(double s); /*メイン関数の定義*/ int main(void){ double r; double s; message (); r=hankei (); s=menseki (r); hyouji (s); return(0); } /*メイン関数定義終了*/ /*関数messageの本体定義*/ void message(void){ puts("半径を入力してください"); return(0); } /*関数hankeiの本体定義*/ double hankei(void){ double r; scanf("%lf",&r); return(r); } /*関数mensekiの本体定義*/ double menseki(double r){ return(r*r*3.14); } /*関数hyoujiの本体定義*/ void hyouji(double s){ printf("面積は%lfです\n",s); return(); } で合ってますか? おかしい箇所があればご指摘お願いします。
質問日時: 2021/01/28 12:51 質問者: あんぱーーー。
解決済
3
0
-
プログラミングC++のmapについて
現在C++の勉強をしております、初心者です。 独習C++という本を元に勉強しておりまして、そのテキストに記載のプログラムをそのまま一度書き写したところエラーが出てしまいました。 テキスト通りに入力したため理由が全くわかりません。 エラーの内容としては、下記のプログラムのメイン文内で「コンストラクタ”name::name”のインスタンスが引数リストと一致しません」「コンストラクタ”phonenum::phonenum”のインスタンスが引数リストと一致しません」 というものです。 visual studio 2019で作成しています。 どなたかわかる方どこを直せば良いのか、どういう理由なのかを教えてください。よろしくお願いします。 #include <iostream> #include <map> #include <cstring> using namespace std; class name { char str[20]; public: name() { strcpy(str, ""); } name(char* s) { strcpy(str, s); } char* get() { return str; } }; bool operator<(name a, name b) { return strcmp(a.get(), b.get()) < 0; } class phonenum { char str[30]; public: phonenum() { strcpy(str, ""); } phonenum(char* s) { strcpy(str, s); } char* get() { return str; } }; int main() { map<name, phonenum> m; m.insert(pair<name, phonenum>(name("joe"), phonenum("342")));//ここでエラー m.insert(pair<name, phonenum>(name("tom"), phonenum("123")));//同様のエラー m.insert(pair<name, phonenum>(name("jesse"), phonenum("456")));//同様のエラー m.insert(pair<name, phonenum>(name("mike"), phonenum("987")));//同様のエラー char str[80]; cout << "名前を入力:"; cin >> str; map<name, phonenum>::iterator p; p = m.find(name(str)); if (p != m.end()) cout << "電話番号:" << p->second.get() << endl; else cout << "名前がマップにありません\n"; return 0; }
質問日時: 2021/01/28 11:26 質問者: 風情
ベストアンサー
1
0
-
Cプログラムについて
以下の文を実行した後のa,b,c,d,eの最終値はいくらになるか。 int a=8; int b=12; int c,d,e; c=a++; d=++b; e=d-c+(a--); aの最終値は8 bの最終値は13 cの最終値は8 dの最終値は13 eの最終値は14 で合ってますか?
質問日時: 2021/01/28 11:12 質問者: nanase...
解決済
1
0
-
画像において、 なぜwhile(buffer[i]==input[i]と書けないのでしょうか? in
画像において、 なぜwhile(buffer[i]==input[i]と書けないのでしょうか? input[i]の中身を*pに変換しないとbuffer[i]に代入できないのでしょうか?
質問日時: 2021/01/28 11:11 質問者: captain06
ベストアンサー
7
1
-
Cプログラム
int型の変数n1の値が15であるとする。 このとき以下の文を実行した後のn1の値を答えよ。 #include <stdio.h> int main(void) { int n1 = 15; printf("%d\n", n1+=10); printf("%d\n", n1-=20); printf("%d\n", n1*=4); printf("%d\n", n1/=10); printf("%d\n", n1%=6); return(0); } 25 5 20 2 2 で大丈夫ですか? n1*=4の箇所が60にならないのはなぜですか?
質問日時: 2021/01/27 23:11 質問者: nanase...
解決済
4
0
-
Cプログラムについて
int型の変数n1,n2,n3,n4の値がそれぞれ15,15,20,30であるとする。 このとき以下の各式を評価した値を答えよ。 (1)n1==n2 1 (2)n1==n3 0 (3)n1!=n2 0 (4)n1!=n4 1 (5)n1>=n2 1 (6)n1>n2 0 (7)n2<=n3 1 (8)n2<n4 1 (9)n1%5==0 1 (10)n1/5!=3 0 (11)n1?n2:n3 15 (12)n1!=n2?5:3 3 (13)(n1==n2)&&0 0 (14)(n3==n4)||0 0 で合ってますか? 違っていればご指摘お願いします。
質問日時: 2021/01/27 17:41 質問者: あんぱーーー。
解決済
3
0
-
Cプログラムについて
要素数が8である配列aの全要素を逆順に並び替え、その結果を表示するプログラムをfor文を用いて作成せよ。 #include <stdio.h> int main(void){ int i; int temp; int a[8]={57,28,45,62,18,36,82,77}; for(i=0;i<8;i++){ temp=a[i]; a[i]=a[7-i]; a[7-i]=temp; } for(i=o;i<8;i++) printf("a[%d]=%d",i,a[i]); retrun(0); } で合ってますか? 違っていればご指摘お願いします。
質問日時: 2021/01/27 11:34 質問者: あんぱーーー。
解決済
3
0
-
Cプログラムについて
初期化された配列aの要素の中で7を探し7が見つかればそのたびに「7があったよ」と表示するプログラムを作成せよ。 #include <stdio.h> int main(void){ int a[5]={9,8,7,6,7}; int i; for(i=0;i<5;i++){ if(a[i]==7) printf("7があったよ\n");} return(0); } で合ってますか? 違っていればご指摘お願いします。
質問日時: 2021/01/27 10:28 質問者: あんぱーーー。
解決済
3
0
-
解決済
1
0
-
c++で陽的オイラー法の書き方について質問です。 例えば2体問題のように加速度が位置に依るような場合
c++で陽的オイラー法の書き方について質問です。 例えば2体問題のように加速度が位置に依るような場合, x=x+v(x)*dt; v(x)=v(x)+a(x)*dt; のように書いてしまうと代入された後のxがvのほうに代入されてしまうと思います。どのようにすれば解決できますか?一応画像のように書いてはみたのですが…
質問日時: 2021/01/24 03:14 質問者: みんとてぃー
ベストアンサー
2
0
-
初期条件x(t=0)=0.001、パラメータτ=1.0で 成長方程式を2次ルンゲクッタ法で解くプログ
初期条件x(t=0)=0.001、パラメータτ=1.0で 成長方程式を2次ルンゲクッタ法で解くプログラムを作りたいのですが、わかりません。 わかる方教えてください。 また、パラメータαは10/256.0です。
質問日時: 2021/01/24 02:02 質問者: アユニでぃー
解決済
1
0
-
ブラケットの外の記述について
Linuxカーネルの記述の中で、関数定義で、下記の__acquires(rq->lock)のように ブラケット{}の外側に命令を書いた場合、どう言った扱いになるのでしょうか? static inline runqueue_t *task_rq_lock(task_t *p, unsigned long *flags) __acquires(rq->lock) { struct runqueue *rq; repeat_lock_task: local_irq_save(*flags); rq = task_rq(p); spin_lock(&rq->lock); if (unlikely(rq != task_rq(p))) { spin_unlock_irqrestore(&rq->lock, *flags); goto repeat_lock_task; } return rq; }
質問日時: 2021/01/23 22:57 質問者: tmiyoshi
ベストアンサー
2
0
-
5×5の転置行列を求めるC言語のプログラミングの問題なのですが、変な値が出力されて困っています。どこ
5×5の転置行列を求めるC言語のプログラミングの問題なのですが、変な値が出力されて困っています。どこがおかしいですかね? #include <stdio.h> int main(void){ int n[4][4],m[4][4]; int a,b; printf("5×5行列を入力してください。\n"); for (a = 0; a <5; a++){ for(b = 0; b <5; b++){ scanf("%d", &n[a][b]); m[b][a] = n[a][b]; printf("%d", m[a][b]); } printf("\n"); } return 0; }
質問日時: 2021/01/23 22:57 質問者: たなまたなやら
ベストアンサー
6
1
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
最新のコラム/記事
-
マッチングアプリで出会ったカップルは成婚率が高い!?結婚カウンセラーに聞いてみた
パートナーとの出会いの場として、もはや主流となったネット婚活やマッチングアプリ。中でも手軽に登録できるマッチングアプリは、10代から50代と幅広い年代が利用している。一方で、“相手の目的が投資関係の詐欺や...
-
メダロット:第250話「Vol.250※期間限定公開」
天才メダロッター六葉カガミの戦いを描く「メダロット再~リローデッド~」(漫画:伯林、監修:イマジニア)、20周年を迎えた『メダロット』が新たなストリーでココに再起動!!★全話無料で読める、週刊メダロット通信...
-
メダロット:第249話「Vol.249※期間限定公開」
天才メダロッター六葉カガミの戦いを描く「メダロット再~リローデッド~」(漫画:伯林、監修:イマジニア)、20周年を迎えた『メダロット』が新たなストリーでココに再起動!!★全話無料で読める、週刊メダロット通信...
-
日本古来の伝統工芸「金継ぎ」で修復した食器は前と同じように使えるの?
大切にしている食器が割れてしまったら、きっと誰もが「元に戻したい」と願うだろう。「教えて!goo」にも「割ってしまったお気に入りの食器を復活できる?」という質問があり、最適な方法について様々な意見が寄せら...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
逆コンパイルと逆アセンブルの違い...
-
C言語について。
-
これて逆じゃないですか?
-
C言語について。
-
コンソールアプリを作成するのにお...
-
私は
-
C言語 1から20までの逆数の和を求め...
-
Windows Formアプリからコンソール...
-
プログラムの実行時に'<'でリダイレ...
-
パソコン
-
あんまり考えたくないけど
-
10進数からN進数に変換するプログラ...
-
バッチファイルで以下のようなもの...
-
c#のTLS1.2での通信について
-
だいがくの電し書籍で
-
VisualStudio2022でC言語プログラム...
-
VisualStudioでのプログラミングに...
-
C言語って古いですか?
-
ホワイトハッカーを目指そうかと思...
-
【C言語】全角文字の配列を、全角の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラム言語について c言語もコ...
-
C#でログファイルにファイルパスが...
-
Python、プログラミングについて質...
-
バッチファイルで以下のようなもの...
-
プログラミングの課題がわからない...
-
だれがとけるの?
-
0 == False はいいけど
-
CPUが16bitでも32bitOSでコンパイル...
-
なんで
-
c++でテンプレートのコードでわから...
-
プログラマーです。このDB設計だと...
-
c言語のリダイレクトによる円の描...
-
プログラミングでArduinoのc++かc#...
-
大量のデータを読み込んで表示する...
-
応用情報技術者試験の令和元年秋、...
-
複素関数はどこはあんまりやらなく...
-
gccを行ってもexeファイルが生成さ...
-
c言語
-
swift言語の最適化 swift最適化を最...
-
VisualStudio2022でC言語プログラム...
おすすめ情報