C言語なら俺に聞け 151
■ このスレッドは過去ログ倉庫に格納されています
C言語認定一級を取得したら転職でどれぐらい評価されますか? さあ?
その会社がどの程度その知識を必要としているかで変わるのでは? >>758
そういうときは一般化して正確じゃなくても妥当な範囲で思考して回答する癖をつけましょうね〜 うちの周囲じゃ全く参考にもしていないし資格給が出るわけでもないって所が多いな http://codepad.org/NUCaFYyE
雨が降る様子を自分の今持ってる知識だけで作ろうとしたんですが、表現が上手くできてない気がします
だれか改善案があれば助言お願いします >>763
抜けてました
プログラムの問題として、実行すると縦に雨粒が重なってしまうのが目立っていて、この原因がわからず質問しようと思いました。 >>764
それは使用する言語とは無関係に、雨らしく見せるアルゴリズムの問題ではないか?
ある処理をC言語で実現したいがどう書いていいか分からないとか、書いたものが想定通りにならないのはなぜかとかなら答えようがあるが。 >>765
1番上の行で雨を発生させるとき何列目で発生させるかは乱数できめているはずなのに、何行か連続で同じ列に発生しているのがよく見られていて、それが何故なのかがわかりません。
このプログラムは改良中のもので、その前のプログラムは雨粒が全部同じ速さのやつを作っていてそれは問題なく(上の現象も起きず)動いていたので、乱数でなくプログラムの問題かなと思って質問しました >>766
乱数っていうのは偏るものだから、同じ列に連続して発生することが普通。
同じ列に発生しないような作為をする場合は乱数とは言わないと思う。
https://twitter.com/Newton_Science/status/1031788874836529152
あと、'o'が縦に連続するのに違和感があるのなら'|'などに置き換えれば良いと思う。
https://i.imgur.com/wR1mNu5.gif
みたいな感じで
適当に作っててチカチカしちゃってるからあまり参考にならないかもしれない
https://twitter.com/5chan_nel (5ch newer account) >>767
すごい!!!
一気に雨っぽく見えるようになりましたw
乱数の件大変勉強になりました
もっと改良するとしたら、そのツイートのように不自然に見えるランダムさをなくすため振るいにかけるような工夫もしてみようと思います。
あと、もしよければGIFのやつのソースコードを貼ってもらえないでしょうか。よろしくお願いします >>768
一応貼るけど自分はC言語あまり得意でない上に適当にササっと作ったのだからあんまり参考にはしないでほしい
https://ideone.com/FG3nNS
system("cls")で画面更新してるけどチカチカさせずに滑らかに動かしたいならpdcursesとか使ったほうが良いと思う
あとLinuxだったらclsでは動かない >>770
ありがとうございます!
初心者なので関数の使い方とか、あと自分がいかに無駄なコードを書いてたかとかがわかってとても参考になります
調べてみようと思います。ありがとうございました constが外れるのにキャストせずに
char *p = "abc";
とできることを定めている条文どこだっけ? 影があって見えない。
ていうか、試験中に撮影して書き込みか?
思い切ったカンニングだな。 (3)のとこ、この試験問題を作った教官がどういう教え方をしているのか聞かせてくれ 正解は *(const char **)&s なんだが解答群にねえだろ >>781 C++11以降でもなさそうだし、回答群にあるsでいいでしょ。 タイミングがよすぎるし>>772と>>774は同一人物なのかな 簡単なテストがちんぷんかんぷんな人が規約を気にするとは思えない。 【速報】金券五百円分とすかいらーく優侍券をすぐもらえる
https://pbs.twimg.com/media/D8I_kMUUYAEOmcl.jpg
@ スマホでたいむばんくを入手
A 会員登録を済ませる
B マイページへ移動する
C 招待コード→招待コードを入力する [Rirz Tu](スペース抜き)
今なら更に4日18時までの登録で2倍の600円の紹介金を入手
クオカードとすかいらーく優待券を両方ゲットできます。
数分で終えられるのでぜひお試し下さい。 >>786
複数スレに書き込みまくってID変えてレスも書き込みまくってる。 迷惑メール来るようになるっていう報告もあるからこれはスルーしたほうが良いと思う ありとあらゆるスレに貼られてるbotだから気にしなくていいぞw 内容を変えてNG対策すり抜けをやろうとしているから、悪質だと考えた サービスの提供もとに不正行為として通報して、そいつの招待コードとやらを無効にさせられないかな。 これってどこの企業がやってるんだろう
普通に5chでは荒らしに近い迷惑行為だしなんとかできないかな しかし500円だの600円だのしょぼいな。
PayPayみたいにずっと二割引でたまに全額当たるぐらいやらなきゃ宣伝にならんだろう。 とてもいいアプリだからダウンロードして星つけてあげたらいいと思うよ 真って0でしたっけ?1でしたっけ?0以外でしたっけ?1以外でしたっけ? 0以外は真として扱われることが多いな。
0は明示的にfalseになると思う。
そのfalseの否定がtrue。 論理演算結果を整数化したら 偽が0 真は1
整数を論理評価したら 偽が0 で真はそれ以外 #define TRUE (1==1)
#define FALSE (!TRUE)
こんな事書いてたな
値がいくつなのかは気にしなかった OR EAX,EAX
JZ FALSE
JNZ TRUE
こんなんか? !!a == TRUE ならセーフになると思われるー 論理演算では1が真なのに終了は1が異常終了なのはなぜですか?
1が正しく0が間違いというイメージなのですが 昔はintを返す習慣が多分にあったのでその習慣によるが、自分は異常終了は-1返してたな。 >>807
いや、boolが戻り値なら真を成功にすることがむしろ多いと思う。
「エラーを返す」関数の需要が多いということではないか。 正常というのは1つの状態しかないが
異常には色々な種類があるのでそれを区別するためにコードとして返したい
というのと
2値しかない真偽をどう値に配分するか
というのを同列に並べるとパニック。 C言語では別のものとして割り切る
なぜC言語では偽を0に割り当てたのか?という問いの答えを求めているのならば…
俺は知らない >>807
正常は 0でいいけど、異常はいろいろな状態の別を報告できるようにでは ソフト会社に長年いて開発者からこの質問は初
OSインストールできませんなんてすごく高度なんだなって思った
コマンドのテストでコマンドの戻り値ってあるんですがなんですか? >>813
windowsの終了ステータスの確認の仕方とか忘れるしなあ。
言葉で出てくる結果しか見れないなんて普通だと思うわ。 0が偽なのにnoerrというイカれた慣習はどうして生まれたんだろうねぇ。 最初に誕生した OS、system/360 の JCLでも、正常は 0、警告が 4だったか 8だったかで、異常が 8だったか 16だったかだったな
z/OSでも同じだろうけど
知らんけど 幸福な戻り値はどれも似たものだが、不幸な戻り値はいずれもそれぞれに不幸なものである。 if (error == 0)
で違和感ないじゃん 0 informational
1 warning
2 error
3 severe
4 critical 返り値0でエラーなしはUNIXのコマンド終了ステータス以来の慣習かな。
「正常終了」は状態が1種類しかないけど、失敗は「どう失敗したか」で
複数の状態があるから、正常で0、他の値はエラーコードってのは便利でしょ。
論理演算子の結果で true false の1と0は、論理学の数値表現を
プログラム言語にそのまま写しこんだからじゃないかと。
関数は一般にエラー状態を返り値で返す、と思っていれば
正常 == 返り値0 == false は違和感ないかと。
このルールから外れてるのは「失敗時にNULLを返す」タイプの関数で、
結構たくさん存在するのが困ったところだけど。 Cでは同一のもとして動かせてしまうが
そもそもエラーコードとboolを同一視してる時点で論外なんだが 論理型を別に設けずに整数型で代用してしまおうというアイデアはBやCの言語仕様をコンパクトに
抑えるのに役立ったが、今となってはプリプロセッサマクロと同じくらいの悪しき遺産だなぁ。 C99以降であれば_Bool型を使えばいいのでは? 正常時1で異常時0を返す関数が混ざってたり
正常時ポインタで異常時ヌルポ返す関数があったり
それらの関数の返り値を全部 if でチェックしててカオスだったことがあります BOOLを返す関数が負数を返したかどうか調べにゃあかんやつとかな ワインバーグの本にあったなあ。ドル紙幣はみんな同じ色、同じサイズで見分けがつきにくいけど、
それが常識だと思っている人は、一定の確率で間違えてしまうことも世界の法則で仕方のない
ことだと思っているとか。 >>827
GetMessage()の悪口はいくら言ってもよいぞ
DWORDにしとけよ >>826
カオスっていうかこれ普通じゃない?
標準ライブラリのラッパー書くとき互換性保つために0成功にするでしょ
で他のオレオレライブラリはboolという 戻り地がboolのときはtrueが成功
intのときは0が成功なんだよ boolぐらいなにもインクルードしなくても使わせてくれぽよ >>830
それのせいでPrelではシステムコールと同名の関数の返り値がいまいち統一取れてなかったりして、結局マニュアル見ながら個別に覚えざるを得なかったりする。
Perlはだいたいは1が成功でundefが失敗なんだけどね。(undefはCでのNULLみたいなもの。未定義を意味する。定義されてて値が0の時とは違うが、書き方によっては同じように扱えることもある)。 今C++にあるoptionalだっけ?
あんな感じの有ってもいいな。かなりうざい感じになるから使わんか。 インクルードをURLで引っ張ってこれたら面白いのに。 >>837
/use/include ディレクトリをNFS マウントでもしとけ。 すみません、質問があります。
環境はlinuxです。
ある共有ライブラリlibA.soをロードするプログラムbがあります。
このプログラムbをlibA.so抜きでgccでビルドすることはできるでしょうか?
もちろん実行時にはlibA.soは用意します。 >>841
リンクされる関数やグローバル変数が全て揃ってれば誤魔化し効くのではないかな。 シンボルだけ定義したsoファイルを用意するのが普通ではないかと ビルド用のsoファイルを用意する、でいこうと思います。ありがとうございました! スタブってやつね。
dlopen使うと基本そうなると思う。
もともと自動的なシンボル解決してる場合は無視できたかも。 たぶん、DLL import, export みたいな定義ファイルさえあれば、コンパイルできるだろ? ■ このスレッドは過去ログ倉庫に格納されています