C言語なら俺たちに聞け パート0001
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2012/07/07(土) 17:15:26.10 なんでも聞きなよ
467デフォルトの名無しさん
2015/04/24(金) 13:27:44.24ID:f3vcgjob >>466
ありがとうございます
ありがとうございます
468デフォルトの名無しさん
2015/09/14(月) 15:55:47.87ID:xWDGmwXQ C言語初心者です。
windows7
MinGWのgccバージョン4.8.1です。
/*スタート*/
#include <stdio.h>
int main(void){
float pai,r,s;
printf("半径を入力してください=");
scanf("%f&r");
pai=3.14159;
s=pai*r*r;
printf("面積は%fです\n",s);
return 0;
}
/*終わり*/
円の面積を求めるプログラム作りました。コンパイルするのはうまくいくんですが、実行して半径を入力すると○○○.exeは動作を停止しました。とエラーダイアログが表示され結果が出力されません。
何が原因でしょうか?
windows7
MinGWのgccバージョン4.8.1です。
/*スタート*/
#include <stdio.h>
int main(void){
float pai,r,s;
printf("半径を入力してください=");
scanf("%f&r");
pai=3.14159;
s=pai*r*r;
printf("面積は%fです\n",s);
return 0;
}
/*終わり*/
円の面積を求めるプログラム作りました。コンパイルするのはうまくいくんですが、実行して半径を入力すると○○○.exeは動作を停止しました。とエラーダイアログが表示され結果が出力されません。
何が原因でしょうか?
469デフォルトの名無しさん
2015/09/14(月) 16:17:23.72ID:EUIVB/8j >>468
scanf("%f&r");
ではなくて、
scanf("%f",&r);
scanf("%f&r");
ではなくて、
scanf("%f",&r);
470デフォルトの名無しさん
2015/09/14(月) 16:23:27.10ID:hfKV6tF/ よくわからんけど、gcc 拡張の警告でチェックしてくれんの?
フォーマット文字列 と 渡した引数数の不一致
フォーマット文字列 と 渡した引数数の不一致
471デフォルトの名無しさん
2015/09/14(月) 16:56:53.27ID:EUIVB/8j >>468
のプログラムをgcc 4.8.1でコンパイルしたら
エラーメッセージは出なくて、実行したら
当然ながら、面積の値が0.000000と誤まった
値が出てきた。
エラーメッセージが出ないのが不思議。
オプションを付ければ、エラーメッセージがでるのだろうか
のプログラムをgcc 4.8.1でコンパイルしたら
エラーメッセージは出なくて、実行したら
当然ながら、面積の値が0.000000と誤まった
値が出てきた。
エラーメッセージが出ないのが不思議。
オプションを付ければ、エラーメッセージがでるのだろうか
472デフォルトの名無しさん
2015/09/14(月) 18:33:12.41ID:92FX1eX2 int scanf(const char *format, ...)
int printf(const char * restrict format, ...);
そういうことで。
int printf(const char * restrict format, ...);
そういうことで。
473デフォルトの名無しさん
2015/09/14(月) 19:00:53.16ID:xWDGmwXQ474デフォルトの名無しさん
2015/09/27(日) 07:27:17.58ID:9nB30GXC >>471
stdio.hを追っかけていけば、
int scanf(const char *format, ...);
int printf(const char *format, ...);
のようにprintfと同じ形であることがわかる。
printf("hoge");
がエラーでないように
scanf("hoge");
もエラーとはならない。
ただgccは賢くて -Wall をつけると、
formatの中身を解析して警告を出してくれる。(printfも同様)
stdio.hを追っかけていけば、
int scanf(const char *format, ...);
int printf(const char *format, ...);
のようにprintfと同じ形であることがわかる。
printf("hoge");
がエラーでないように
scanf("hoge");
もエラーとはならない。
ただgccは賢くて -Wall をつけると、
formatの中身を解析して警告を出してくれる。(printfも同様)
475デフォルトの名無しさん
2015/10/22(木) 06:08:18.70ID:T7RJ3QRI googleでgccのコンパイルオプションについて検索すると
検索結果がゼロになることが何度かあった
ちなみに
gcc -オプション名
みたいな感じ検索してた
どうもman gccの最初の数ページしかgoogleに登録されてないっぽい挙動なんだが
検索結果がゼロになることが何度かあった
ちなみに
gcc -オプション名
みたいな感じ検索してた
どうもman gccの最初の数ページしかgoogleに登録されてないっぽい挙動なんだが
476はちみつ餃子 ◆8X2XSCHEME
2015/10/23(金) 02:42:54.65ID:+vqb9bZy google で検索キーワードの前にマイナス記号がついてると、
そのキーワードを含む検索結果を除外する (いわゆるマイナス検索) ようになってるので、
オプションについて検索するときは気をつけような。
そのキーワードを含む検索結果を除外する (いわゆるマイナス検索) ようになってるので、
オプションについて検索するときは気をつけような。
477デフォルトの名無しさん
2015/10/25(日) 01:00:53.79ID:KG2IWWVY 数か月前にgoogleで
gcc version-script
gcc bsymbolic-functions
gcc fvisibility
で-抜いて検索しても検索結果ゼロだったのに
今見たら検索結果でるようになってる
gcc version-script
gcc bsymbolic-functions
gcc fvisibility
で-抜いて検索しても検索結果ゼロだったのに
今見たら検索結果でるようになってる
478デフォルトの名無しさん
2015/10/25(日) 01:10:23.08ID:KG2IWWVY gcc bsymbolic-functions
が
stackoverflow
ばっかりでgcc本家の
https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html
が出てこないのは今も同じ
単にstackoverflowの質問が増えたからgoogleに引っかかるようになった?
が
stackoverflow
ばっかりでgcc本家の
https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html
が出てこないのは今も同じ
単にstackoverflowの質問が増えたからgoogleに引っかかるようになった?
479デフォルトの名無しさん
2015/11/26(木) 03:09:04.34ID:/vQLcmuc そろそろC言語初心学習者に、もっとも最適な書籍を決めてください
柴田本? 苦C? 林本? やさC?
柴田本? 苦C? 林本? やさC?
480デフォルトの名無しさん
2015/11/26(木) 19:35:30.69ID:AipKzKjF K&R。プログラミング自体初心とかの特殊な人は知らん
2015/11/27(金) 00:49:18.33ID:ZPXTuq1n
>>479
DarkGDKをお勧めするよw
DarkGDKをお勧めするよw
482デフォルトの名無しさん
2015/11/27(金) 01:11:07.20ID:Bpp9Chxs483デフォルトの名無しさん
2015/11/27(金) 07:25:23.09ID:AzpW+bBE 苦CのWeb版はここの人達には不評だった記憶が
484デフォルトの名無しさん
2015/11/27(金) 13:07:54.19ID:v+FwdFGc まあ柴田本だろうな、定評がある
485:デフォルトの名無しさん
2015/11/27(金) 14:59:10.21ID:NDUaqi7o 学校の課題でc言語でゲームを作るんですが作りやすいものとかないですか?
486デフォルトの名無しさん
2015/11/27(金) 15:25:49.55ID:OSV5eH1L 文字だけで作れるのにしとけ。じゃんけんとか。
487デフォルトの名無しさん
2015/11/27(金) 16:47:57.00ID:bNIHHiC+ >>485
純粋にCだけでってなると数当て(乱数適当に作っておいて、値を受け取って小さいか大きいかを表示する)なんかも
作り易いと思う。
あとはフルハウスやババ抜きなんかのターン制のカードゲームとか
もっと面倒なのだと数独やオセロなんかの平面に文字を並べればなんとなくそれっぽく見える感じのゲームは作れうるかな
純粋にCだけでってなると数当て(乱数適当に作っておいて、値を受け取って小さいか大きいかを表示する)なんかも
作り易いと思う。
あとはフルハウスやババ抜きなんかのターン制のカードゲームとか
もっと面倒なのだと数独やオセロなんかの平面に文字を並べればなんとなくそれっぽく見える感じのゲームは作れうるかな
489デフォルトの名無しさん
2015/11/28(土) 06:52:13.32ID:3W8Apw0w なぜ学校でプログラミングをやるのか?
なぜCを使うのか?
目的と手段を履き違えてないか?
なぜCを使うのか?
目的と手段を履き違えてないか?
490デフォルトの名無しさん
2015/11/28(土) 09:16:20.61ID:dfErn7u5 ィ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;゙t,
彡;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ヽ
イ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;r''ソ~ヾ:;;;;;;゙i,
t;;;;;;;リ~`゙ヾ、;;;;;;;;;;;;;;;;;;;;ノ i,;;;;;;!
゙i,;;;;t ヾ-‐''"~´_,,.ィ"゙ ヾ;;f^! / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ト.;;;;;》 =ニー-彡ニ''"~´,,...,,. レ')l. < >489 おまえは何を言っているんだ
t゙ヾ;l __,, .. ,,_ ,.テ:ro=r''"゙ !.f'l. \____________
ヽ.ヽ ー=rtσフ= ; ('"^'=''′ リノ
,,.. -‐ゝ.>、 `゙゙゙゙´ ,' ヽ . : :! /
~´ : : : : : `ヽ:. ,rf :. . :.: j 、 . : : ト、.、
: : : : : : : : : : ヽ、 /. .゙ー:、_,.r'゙: :ヽ. : :/ ヽ\、
:f: r: : : : : : : : !丶 r-、=一=''チ^ ,/ !:: : :`丶、_
: /: : : : : : : : :! ヽ、 ゙ ''' ''¨´ / ,i: : : l!: : : : :`ヽ、
〃: :j: : : : : : : ゙i `ヽ、..,,__,, :ィ":: ,ノ:: : : : : : : : : : : :\
ノ: : : : : : : : : : :丶 : : ::::::::: : : : /: : : : : : : : : : : : : : : :\
彡;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ヽ
イ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;r''ソ~ヾ:;;;;;;゙i,
t;;;;;;;リ~`゙ヾ、;;;;;;;;;;;;;;;;;;;;ノ i,;;;;;;!
゙i,;;;;t ヾ-‐''"~´_,,.ィ"゙ ヾ;;f^! / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ト.;;;;;》 =ニー-彡ニ''"~´,,...,,. レ')l. < >489 おまえは何を言っているんだ
t゙ヾ;l __,, .. ,,_ ,.テ:ro=r''"゙ !.f'l. \____________
ヽ.ヽ ー=rtσフ= ; ('"^'=''′ リノ
,,.. -‐ゝ.>、 `゙゙゙゙´ ,' ヽ . : :! /
~´ : : : : : `ヽ:. ,rf :. . :.: j 、 . : : ト、.、
: : : : : : : : : : ヽ、 /. .゙ー:、_,.r'゙: :ヽ. : :/ ヽ\、
:f: r: : : : : : : : !丶 r-、=一=''チ^ ,/ !:: : :`丶、_
: /: : : : : : : : :! ヽ、 ゙ ''' ''¨´ / ,i: : : l!: : : : :`ヽ、
〃: :j: : : : : : : ゙i `ヽ、..,,__,, :ィ":: ,ノ:: : : : : : : : : : : :\
ノ: : : : : : : : : : :丶 : : ::::::::: : : : /: : : : : : : : : : : : : : : :\
491デフォルトの名無しさん
2015/11/28(土) 13:32:57.54ID:Iy/WtbZ6492デフォルトの名無しさん
2015/11/29(日) 10:21:55.35ID:U49gaUJj 面白い奴だな、気に入った。殺すのは最後にしてやる
493デフォルトの名無しさん
2015/12/03(木) 20:54:34.92ID:mCOP4ysm494デフォルトの名無しさん
2015/12/23(水) 15:06:50.61ID:1ZCzEE1G メジャーなコンパイラにはなんで実行ファイルの難読化オプションがないんだろうか。
デマングリング不可の関数ラベル名を生成するだけでも相当な難読化になると思うのだが。
デマングリング不可の関数ラベル名を生成するだけでも相当な難読化になると思うのだが。
495デフォルトの名無しさん
2015/12/23(水) 15:26:26.49ID:ydhwYjA+ リリースするときはふつうstripするだろ。
496デフォルトの名無しさん
2015/12/23(水) 19:22:20.46ID:MJdV8aRk C/C++ に難読化はいらないよ‥
497デフォルトの名無しさん
2016/01/17(日) 00:06:26.42ID:0aBE1GLW 本格的な文字列処理を行う場合、内部コードはUTF-16に統一するのが常識なのだろうか。
あと最近はユニコード扱う場合はchar16_t使うのが主流になってたりする?
あと最近はユニコード扱う場合はchar16_t使うのが主流になってたりする?
498デフォルトの名無しさん
2016/01/17(日) 08:38:01.80ID:8TKcXYcp どちらかというと UTF-8
499デフォルトの名無しさん
2016/01/17(日) 09:16:37.12ID:Tm1vTqdo なにかのライブラリ使うならそのライブラリが対応しているエンコーディング使えばいいが、
自前で文字単位の処理やるならマルチバイトよりワイド文字のが楽でしょ。
内部的には結局コードポイントの単位で扱うだろうし。
「本格的な」の内容がUNICODEに定義されたすべての文字を扱えるということを含むなら
UTF-32、基本多言語面だけで十分ならUTF-16でいいだろう。
自前で文字単位の処理やるならマルチバイトよりワイド文字のが楽でしょ。
内部的には結局コードポイントの単位で扱うだろうし。
「本格的な」の内容がUNICODEに定義されたすべての文字を扱えるということを含むなら
UTF-32、基本多言語面だけで十分ならUTF-16でいいだろう。
500デフォルトの名無しさん
2016/03/06(日) 11:31:35.36ID:g15wMUfE 文字単位が大方2バイトと決まってるUTF16使うのが一番楽。
unsigned short ch = u"あa";
ch[0]; // 'あ'
ch[1]; // 'a'
UTF-8ではこうは行かない。
unsigned short ch = u"あa";
ch[0]; // 'あ'
ch[1]; // 'a'
UTF-8ではこうは行かない。
501デフォルトの名無しさん
2016/03/06(日) 13:48:20.66ID:us3JIMiG EUCの美しい世界を凶人達が破壊した。
502はちみつ餃子 ◆8X2XSCHEME
2016/03/07(月) 02:47:20.91ID:ERCs3bA6503デフォルトの名無しさん
2016/03/07(月) 21:17:49.24ID:uXN+Q7bH たいてい「このアプリはBMPまでしか対応しません」で困らん。
504デフォルトの名無しさん
2016/03/14(月) 08:45:36.58ID:e10e4Y4Q if(argc>3|||!strcmp(argv[1],"/?")||strcmp(argv[1],"-?"))
/? と-? て、どういう意味?
/? と-? て、どういう意味?
505デフォルトの名無しさん
2016/03/14(月) 09:45:39.70ID:qOCQ0PgP >504
そのまま。特別に変換するわけでもない文字列。
コマンドラインアプリで引数にヘルプオプション指定されてるか調べてると思われる。
>aaa.exe /?
>aaa.exe -?
そのまま。特別に変換するわけでもない文字列。
コマンドラインアプリで引数にヘルプオプション指定されてるか調べてると思われる。
>aaa.exe /?
>aaa.exe -?
506デフォルトの名無しさん
2016/03/29(火) 09:35:20.91ID:/c8bAcK4 サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ
https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
507デフォルトの名無しさん
2016/09/01(木) 10:06:22.99ID:xECgA5Px C++ならクラス作ってクラスの操作関数を多数登録できますが、Cの構造体で同じことをやろうとしたらどう書くのでしょうか?
508デフォルトの名無しさん
2016/09/01(木) 10:41:00.85ID:FY85t8sS 構造体に関数ポインターをもたせる
第一引数は構造体のポインター
第一引数は構造体のポインター
510デフォルトの名無しさん
2016/09/01(木) 18:18:48.62ID:L4FyPA9F FILE と f〜関数郡の関係で
511デフォルトの名無しさん
2016/09/01(木) 20:46:50.70ID:8Xtys+zE >>508
構造体に関数ポインタ持たすの意味なくね?
構造体に関数ポインタ持たすの意味なくね?
512デフォルトの名無しさん
2016/09/02(金) 14:03:28.83ID:Z98P2xof int main(){
char a[20];
char b[20];
scanf("%[^abc]", a);
printf("a[] = %s\n", a);
scanf("%s", b);
printf("b[] = %s\n", b);
return 0;
}
2回入力できないのは、なんで?
char a[20];
char b[20];
scanf("%[^abc]", a);
printf("a[] = %s\n", a);
scanf("%s", b);
printf("b[] = %s\n", b);
return 0;
}
2回入力できないのは、なんで?
513デフォルトの名無しさん
2016/09/02(金) 16:55:30.86ID:Z0wyfFLe ネットから拾ってきたソースを参考にしています。
2つのファイルをマージして、コードからメッセージを参照するハッシュリストを
なのですが、どうも無限ループに陥ってしまっているようなのです。
hashlist_lookupのwhile脱出条件であるNULLをhashlist_add内で
セットしなければいけないのはわかるのですが、どのようにすればいいのでしょうか?
2つのファイルをマージして、コードからメッセージを参照するハッシュリストを
なのですが、どうも無限ループに陥ってしまっているようなのです。
hashlist_lookupのwhile脱出条件であるNULLをhashlist_add内で
セットしなければいけないのはわかるのですが、どのようにすればいいのでしょうか?
514513
2016/09/02(金) 16:55:55.38ID:Z0wyfFLe メインはこのようになっております(関連部分だけの抜粋です)
static struct hashlist message_list;
ハッシュリストの作成部分
hashlist_create( &message_list, 2048, 682 );
マージしてハッシュへ登録部分
if( src1id == src2id ) {
src1ptr += 7 + src1len;
src2ptr += 7 + src2len;
hashlist_add( &message_list, src2id, destptr );
} else
if( src1id > src2id ) {
src2ptr += 7 + src2len;
hashlist_add( &message_list, src2id, destptr );
} else {
src1ptr += 7 + src1len;
hashlist_add( &message_list, src1id, destptr );
}
ハッシュリストを参照する部分(hashlist_lookup内で無限ループ)
struct hashnode* node = hashlist_lookup( &message_list, message_id );
return node ? (char*)node->info : "(null)";
static struct hashlist message_list;
ハッシュリストの作成部分
hashlist_create( &message_list, 2048, 682 );
マージしてハッシュへ登録部分
if( src1id == src2id ) {
src1ptr += 7 + src1len;
src2ptr += 7 + src2len;
hashlist_add( &message_list, src2id, destptr );
} else
if( src1id > src2id ) {
src2ptr += 7 + src2len;
hashlist_add( &message_list, src2id, destptr );
} else {
src1ptr += 7 + src1len;
hashlist_add( &message_list, src1id, destptr );
}
ハッシュリストを参照する部分(hashlist_lookup内で無限ループ)
struct hashnode* node = hashlist_lookup( &message_list, message_id );
return node ? (char*)node->info : "(null)";
515デフォルトの名無しさん
2016/09/02(金) 16:56:34.44ID:Z0wyfFLe 以下、ハッシュ関連
struct hashnode {
struct hashnode* next;
u32 keycode;
void* info;
};
struct hashlist {
struct hashnode* current;
struct hashnode** table;
int current_table;
struct memblock memblock;
int tablesize;
int n_items;
};
struct hashnode {
struct hashnode* next;
u32 keycode;
void* info;
};
struct hashlist {
struct hashnode* current;
struct hashnode** table;
int current_table;
struct memblock memblock;
int tablesize;
int n_items;
};
516513
2016/09/02(金) 16:57:38.59ID:Z0wyfFLe void hashlist_create( struct hashlist* _list, int _tablesize, int _bufsize )
{
memblock_create( &_list->memblock, sizeof(struct hashnode), _bufsize );
_list->table = (struct hashnode**)xmalloc( sizeof(struct hashnode*) * _tablesize );
_list->current = _list->table[0];
_list->tablesize = _tablesize;
_list->current_table = _list->n_items = 0;
memset( _list->table, 0, sizeof(struct hashnode*) * _tablesize );
}
struct hashnode* hashlist_add( struct hashlist* _list, u32 _keycode, void* _info )
{
struct hashnode* node = (struct hashnode*)memblock_alloc( &_list->memblock );
node->keycode = _keycode;
node->info = _info;
node->next = _list->table[_keycode % _list->tablesize];
_list->table[_keycode % _list->tablesize] = node;
_list->n_items++;
return node;
}
struct hashnode* hashlist_lookup( struct hashlist* _list, u32 _keycode )
{
struct hashnode* node = _list->table[_keycode % _list->tablesize];
while( node ) { //ここで無限ループ
if( node->keycode == _keycode )
return node;
node = node->next;
}
return NULL;
}
{
memblock_create( &_list->memblock, sizeof(struct hashnode), _bufsize );
_list->table = (struct hashnode**)xmalloc( sizeof(struct hashnode*) * _tablesize );
_list->current = _list->table[0];
_list->tablesize = _tablesize;
_list->current_table = _list->n_items = 0;
memset( _list->table, 0, sizeof(struct hashnode*) * _tablesize );
}
struct hashnode* hashlist_add( struct hashlist* _list, u32 _keycode, void* _info )
{
struct hashnode* node = (struct hashnode*)memblock_alloc( &_list->memblock );
node->keycode = _keycode;
node->info = _info;
node->next = _list->table[_keycode % _list->tablesize];
_list->table[_keycode % _list->tablesize] = node;
_list->n_items++;
return node;
}
struct hashnode* hashlist_lookup( struct hashlist* _list, u32 _keycode )
{
struct hashnode* node = _list->table[_keycode % _list->tablesize];
while( node ) { //ここで無限ループ
if( node->keycode == _keycode )
return node;
node = node->next;
}
return NULL;
}
517デフォルトの名無しさん
2016/09/02(金) 21:52:40.48ID:96M6CE+e >>512
scanf() の [...] 変換指定子なんて初めて見たよ。
調べたところ、以下のような動作をするみたいね。
scanf("%[^abc]", a);
配列aには a, b, c 以外の文字が入る
(入力文字列の先頭から a か b か c の直前までをaに格納)
上の入力で配列aに格納されなかった分はバッファに残る
scanf("%s", b);
すでにバッファに入っている内容を配列bに格納して関数終了
(配列aへのscanf()を終了させたa, b, cから始まる文字列が待機してるはず)
というわけで入力操作は、
a, b, c を含まない間は scanf("%[^abc]", a); が完了しない
scanf("%[^abc]", a); が完了したら、その途端に scanf("%s", b); も完了
scanf() の [...] 変換指定子なんて初めて見たよ。
調べたところ、以下のような動作をするみたいね。
scanf("%[^abc]", a);
配列aには a, b, c 以外の文字が入る
(入力文字列の先頭から a か b か c の直前までをaに格納)
上の入力で配列aに格納されなかった分はバッファに残る
scanf("%s", b);
すでにバッファに入っている内容を配列bに格納して関数終了
(配列aへのscanf()を終了させたa, b, cから始まる文字列が待機してるはず)
というわけで入力操作は、
a, b, c を含まない間は scanf("%[^abc]", a); が完了しない
scanf("%[^abc]", a); が完了したら、その途端に scanf("%s", b); も完了
518デフォルトの名無しさん
2016/09/02(金) 23:01:39.58ID:XSBirivx scanfのスキャン集合はよく使われる機能だよ
>>512
2回入力、というのは改行キー(エンターキー)を押して2回入力した、という意味で
使ってるんだろうけど、スキャン集合を使うと改行も入力文字として扱うようになるから、
つまり改行キーがエンターするキーではなくなってるのが、理由。
ttyのcookモードの観点では依然改行でエンターだけど、まあそれは別の話
>>514
引用の範囲は問題ない
http://codepad.org/yoBUyHMg
>>512
2回入力、というのは改行キー(エンターキー)を押して2回入力した、という意味で
使ってるんだろうけど、スキャン集合を使うと改行も入力文字として扱うようになるから、
つまり改行キーがエンターするキーではなくなってるのが、理由。
ttyのcookモードの観点では依然改行でエンターだけど、まあそれは別の話
>>514
引用の範囲は問題ない
http://codepad.org/yoBUyHMg
520デフォルトの名無しさん
2016/09/06(火) 10:32:29.57ID:6Lg2ZIDg >>511
常套手段だが
常套手段だが
521デフォルトの名無しさん
2016/09/07(水) 01:06:00.69ID:7cFIJKpv522デフォルトの名無しさん
2016/09/07(水) 03:52:15.46ID:rkt8kSNa523デフォルトの名無しさん
2016/09/07(水) 04:19:21.31ID:OeU2hxT4524デフォルトの名無しさん
2016/09/07(水) 04:51:02.27ID:rkt8kSNa >>523
イメージがわからないけれど、無意味とは判ったのですか。。。
イメージがわからないけれど、無意味とは判ったのですか。。。
525デフォルトの名無しさん
2016/09/07(水) 06:06:44.59ID:WnjFqmId ひょっとして
「インスタンスには関数ポインタじゃなくてクラス定義へのポインタを持たせろよ」
的なこと?
「インスタンスには関数ポインタじゃなくてクラス定義へのポインタを持たせろよ」
的なこと?
526デフォルトの名無しさん
2016/09/07(水) 07:38:40.63ID:zmxBwCSk ふつう、インスタンスが違っても関数の定義は一つなので、インスタンスのポインタだけでいいよね。
527デフォルトの名無しさん
2016/09/07(水) 07:38:43.48ID:9ei6Qh2k 構造体に関数ポインタを持たせれば、
インスタンスごとに関数の実体を変更できる。
C++でのオーバーライドに相当する使い方。
というのはどうかな。コード示せなくて悪いけど。
インスタンスごとに関数の実体を変更できる。
C++でのオーバーライドに相当する使い方。
というのはどうかな。コード示せなくて悪いけど。
528デフォルトの名無しさん
2016/09/07(水) 12:48:44.31ID:iiQuAO1E 普通にメンバ関数なワケだが
529デフォルトの名無しさん
2016/09/07(水) 12:58:06.08ID:sjjNPEW0 ip->func(ip, ほかの引数...)
仮想関数を実現するときぐらいで静的に確定してるなら
func(ip, ほかの引数...)
で十分だよね
仮想関数を実現するときぐらいで静的に確定してるなら
func(ip, ほかの引数...)
で十分だよね
530デフォルトの名無しさん
2016/09/07(水) 13:56:17.35ID:8SeVjemL そこで>>510になるわけやね
531デフォルトの名無しさん
2016/09/07(水) 15:38:13.08ID:9ei6Qh2k532デフォルトの名無しさん
2016/09/07(水) 17:47:11.67ID:WnjFqmId ip->func( ip)
に対応するのは
func_of_some_class( ip)
だよ。ネームスペースが違うんだよ。
自分がそうしないから無意味というような考え方はあまり楽しくないと思うよ。
に対応するのは
func_of_some_class( ip)
だよ。ネームスペースが違うんだよ。
自分がそうしないから無意味というような考え方はあまり楽しくないと思うよ。
533デフォルトの名無しさん
2016/09/08(木) 07:41:02.42ID:3Ilyk05I Cなんだから、単純に構造体に識別子を持たせるだけでいいね
534デフォルトの名無しさん
2016/09/08(木) 13:59:52.33ID:DkcrHcSi >>507
まだ見てる?
func_of_some_class( obj)
よりは
obj->func( obj)
の方が嬉しいだろうけど、関数が多いと *obj が大きくなる。もう気づいてるよね?
それが問題になるようなら関数ポインタのための構造体を1個だけ用意して
some_class . func( obj)
という方法もある。でも、あまり嬉しい書き方ではないだろうね。
そこで、この構造体を指すポインタを *obj に入れて
obj->f->func( obj)
みたいな感じでどうだろう。これなら *obj の大きさはポインタ1個分増えるだけだし
obj->func( obj)
と同様にコードの再利用性も高い。まあ、C で簡単にやりたいなら多少は妥協も必要だけど。
まだ見てる?
func_of_some_class( obj)
よりは
obj->func( obj)
の方が嬉しいだろうけど、関数が多いと *obj が大きくなる。もう気づいてるよね?
それが問題になるようなら関数ポインタのための構造体を1個だけ用意して
some_class . func( obj)
という方法もある。でも、あまり嬉しい書き方ではないだろうね。
そこで、この構造体を指すポインタを *obj に入れて
obj->f->func( obj)
みたいな感じでどうだろう。これなら *obj の大きさはポインタ1個分増えるだけだし
obj->func( obj)
と同様にコードの再利用性も高い。まあ、C で簡単にやりたいなら多少は妥協も必要だけど。
535デフォルトの名無しさん
2016/09/08(木) 14:27:27.18ID:bBLHyk+n getsって危険な関数って書いてあったけど
putsとputcharって、危険ですか?
putsとputcharって、危険ですか?
536デフォルトの名無しさん
2016/09/08(木) 14:40:32.90ID:4cuZJI/Y >>535
包丁と同じくらい危険だ慎重に扱え
包丁と同じくらい危険だ慎重に扱え
537デフォルトの名無しさん
2016/09/09(金) 15:30:42.88ID:psvqqBYg すまない、ちょっとお尋ねします
debian lenny なんつー古い環境で開発せざるを得ない中、C++で「unsigned long long」型を使おうとしてるんだけど
16ビットずつシフトさせていくと、32ビットを超えた部分が消えてしまう
a = 0x00000000ffffffff;
a << 16;
→ 0x00000000ffff0000
こんな感じ、本来なら0x0000ffffffff0000になるはずだが…
環境変えろは分かるんだが、以前のgccでそんなバグの事例があったかどうかが知りたいです
debian lenny なんつー古い環境で開発せざるを得ない中、C++で「unsigned long long」型を使おうとしてるんだけど
16ビットずつシフトさせていくと、32ビットを超えた部分が消えてしまう
a = 0x00000000ffffffff;
a << 16;
→ 0x00000000ffff0000
こんな感じ、本来なら0x0000ffffffff0000になるはずだが…
環境変えろは分かるんだが、以前のgccでそんなバグの事例があったかどうかが知りたいです
538デフォルトの名無しさん
2016/09/09(金) 15:31:49.25ID:psvqqBYg a = a << 16;
のミス
のミス
539デフォルトの名無しさん
2016/09/09(金) 16:12:01.48ID:6+5PcORv >>537
ULL付けてみては?
ULL付けてみては?
540デフォルトの名無しさん
2016/09/09(金) 16:22:48.10ID:RCn4M+As >>537
配布済みパッケージならgcc 3.4, 4.1, 4.2, 4.3があるけど
少なくても 4.3.2 にはそんなアホみたいなバグは無い
http://ideone.com/qN9OJV
とはいえdebian lennyだろうと好きなバージョンのgcc突っ込んで使えばいいと思う
配布済みパッケージならgcc 3.4, 4.1, 4.2, 4.3があるけど
少なくても 4.3.2 にはそんなアホみたいなバグは無い
http://ideone.com/qN9OJV
とはいえdebian lennyだろうと好きなバージョンのgcc突っ込んで使えばいいと思う
541デフォルトの名無しさん
2016/09/09(金) 16:42:47.15ID:wq6Y1YQc542デフォルトの名無しさん
2016/09/09(金) 16:43:32.39ID:wq6Y1YQc コードは、のミス
というオチ
というオチ
543デフォルトの名無しさん
2016/09/09(金) 16:44:34.37ID:wq6Y1YQc gdbも使えない環境なのはきついね…
gccだって指定されてるから変えらんないのですわ
gccだって指定されてるから変えらんないのですわ
544デフォルトの名無しさん
2016/09/09(金) 17:28:48.58ID:EcclX7iE >>541
いかにも「うっかり間違えそうな人」が書いた投稿だね。
よほど慌ててるのか。
cppcheck を試したらどうだろう。
printf() の書式文字列と引数の型の一致もチェックしてくれるよ。
いかにも「うっかり間違えそうな人」が書いた投稿だね。
よほど慌ててるのか。
cppcheck を試したらどうだろう。
printf() の書式文字列と引数の型の一致もチェックしてくれるよ。
545デフォルトの名無しさん
2016/09/09(金) 22:50:01.23ID:YD15XtYf546デフォルトの名無しさん
2016/09/24(土) 00:27:12.41ID:V/nU9HG+ 【ワカヤマン】C言語プログラミング能力認定試験 [無断転載禁止](c)2ch.net
http://hanabi.2ch.net/test/read.cgi/lic/1454165737/
http://hanabi.2ch.net/test/read.cgi/lic/1454165737/
547デフォルトの名無しさん
2017/02/13(月) 13:19:57.17ID:zKvRiyms int tensu[3]
for(i = 0;i < 3;i++)
scanf("%s %d %d",tensu[i],tensu[i],tensu[i]);
printf("%s %d %d", tensu[i],tensu[i],tensu[i]);
超初心者です
配列がわかりません
文字列を混ぜる場合、どうすればいい?
田中 59 46
for(i = 0;i < 3;i++)
scanf("%s %d %d",tensu[i],tensu[i],tensu[i]);
printf("%s %d %d", tensu[i],tensu[i],tensu[i]);
超初心者です
配列がわかりません
文字列を混ぜる場合、どうすればいい?
田中 59 46
548デフォルトの名無しさん
2017/02/13(月) 18:24:09.42ID:qWBqE6jZ char namae[3][128];
int tensuu1[3], tensuu2[3];
for(i = 0;i < 3;i++)
scanf("%s %d %d",namae[i],tensuu1[i],tensuu2[i]);
printf("%s %d %d\n", namae[i],tensuu1[i],tensuu2[i]);
int tensuu1[3], tensuu2[3];
for(i = 0;i < 3;i++)
scanf("%s %d %d",namae[i],tensuu1[i],tensuu2[i]);
printf("%s %d %d\n", namae[i],tensuu1[i],tensuu2[i]);
549デフォルトの名無しさん
2017/02/13(月) 18:24:30.93ID:qWBqE6jZ char namae[3][128];
int tensuu1[3], tensuu2[3];
for(i = 0;i < 3;i++)
scanf("%s %d %d",namae[i],&tensuu1[i],&tensuu2[i]);
printf("%s %d %d\n", namae[i],tensuu1[i],tensuu2[i]);
int tensuu1[3], tensuu2[3];
for(i = 0;i < 3;i++)
scanf("%s %d %d",namae[i],&tensuu1[i],&tensuu2[i]);
printf("%s %d %d\n", namae[i],tensuu1[i],tensuu2[i]);
550デフォルトの名無しさん
2017/02/14(火) 10:45:01.92ID:OJnhURbN ありがとうございました
551デフォルトの名無しさん
2017/02/21(火) 13:48:04.12ID:xcI3fiLi int lang[3][2]
hound dog
to zu
no nein
2次元配列だけど、scanf使ってこんな感じで
入力したいけど、どうすればいい?
hound dog
to zu
no nein
2次元配列だけど、scanf使ってこんな感じで
入力したいけど、どうすればいい?
552デフォルトの名無しさん
2017/02/21(火) 20:50:18.85ID:5LKZ7kHG >>551
scanf は使うな、以上!
scanf は使うな、以上!
553デフォルトの名無しさん
2017/02/21(火) 20:59:16.35ID:mvy681QG intの配列に文字列を入れる?
554デフォルトの名無しさん
2017/02/22(水) 13:18:23.31ID:CP6clVVD 察しろよ
555デフォルトの名無しさん
2017/02/28(火) 06:13:03.57ID:v3f7r1+L C言語でゲラフィック液晶動かしてみたいんだが、簡単に動かせるツールみたいなのある?
556デフォルトの名無しさん
2017/02/28(火) 11:35:55.45ID:VXdjceYe ___
♪ ∩/ || ̄ ̄||♪ ∩∧__,∧
_ ヽ|.....||__|| 7 ヽ( ^ω^ )7 ゲラフィック♪
/`ヽJ ,‐┘/`ヽJ ,‐┘ ゲラフィック♪
| ̄ ̄\三 / ̄ ̄ ̄/ ´`ヽ、_ ノ ´`ヽ、_ ノ
| | ( ./ / `) ) ♪ `) ) ♪
♪ ∩/ || ̄ ̄||♪ ∩∧__,∧
_ ヽ|.....||__|| 7 ヽ( ^ω^ )7 ゲラフィック♪
/`ヽJ ,‐┘/`ヽJ ,‐┘ ゲラフィック♪
| ̄ ̄\三 / ̄ ̄ ̄/ ´`ヽ、_ ノ ´`ヽ、_ ノ
| | ( ./ / `) ) ♪ `) ) ♪
557デフォルトの名無しさん
2017/02/28(火) 11:50:53.30ID:LbkfB2Bz ロボットアーム的なツールは探せばあると思う
558デフォルトの名無しさん
2017/02/28(火) 12:51:03.03ID:lnb6cxke DENSOの奴はC言語のインターフェースあったかな・・・
559デフォルトの名無しさん
2018/01/20(土) 13:37:03.52ID:5zEZap2N tes2
560デフォルトの名無しさん
2018/02/16(金) 06:30:38.61ID:W1XJdyx1 ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
561デフォルトの名無しさん
2018/02/21(水) 11:43:01.59ID:8XpPyJEp デバッグで初期化してない変数の値見ると
でたらめな値が入ってることあるけど
zaifの2246兆バグもそんな感じなの?
でたらめな値が入ってることあるけど
zaifの2246兆バグもそんな感じなの?
562デフォルトの名無しさん
2018/02/21(水) 13:22:13.33ID:zwuXHePG あっちでそんな質問にための質問してるのがいたが
教師無し学習中のAIっぽ
教師無し学習中のAIっぽ
563デフォルトの名無しさん
2018/02/21(水) 21:24:06.47ID:d98p0ZVh564デフォルトの名無しさん
2018/02/21(水) 22:03:57.23ID:MfDw9yMS ここ再利用か?
565デフォルトの名無しさん
2018/02/22(木) 06:21:35.48ID:WzMowRZZ 1年近く放置されて沈んでたのが、たまたま上がってたんで、
質問する人と答える人が現れたという程度じゃろ。
最近「俺に聞け」の145も立って機能してるし。
質問する人と答える人が現れたという程度じゃろ。
最近「俺に聞け」の145も立って機能してるし。
566デフォルトの名無しさん
2018/04/13(金) 20:24:37.84ID:qQRD8JpH あのお、どのレベルまでいけたら初心者脱出=プロとして食っていける、
なんでしょうか
なんでしょうか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★11 [蚤の市★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- クズ「勉強頑張らなかった奴は一生DQNと一緒に肉体労働しろ」☚勉強頑張れるのも環境と巡り合わせなんだが? [783475554]
- インド料理屋に抗議に行った
- 【正論】検察「山上よ、どんな事情があろうと暴力が許されない」 [442080748]
- 熱はないけど倦怠感があるんやが
- スマホゲ問い合わせ俺「ここでこんなことしたらバグった!」返答「アカウント情報と画面のスクショと操作手順をメールで送って」
- 「サッポロ塩ラーメン」ってやたら評価するやついるよな
