2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

このプログラムできまっか?

1 :仕様書無しさん:2021/07/10(土) 00:06:32.93 .net
C言語

9 :仕様書無しさん:2021/07/19(月) 13:28:34.74 .net
ひでえコード

10 :仕様書無しさん:2021/08/04(水) 17:26:05.71 .net
せめてwandboxのpermalink貼ってくれ悟空ー!!

11 :仕様書無しさん:2021/08/04(水) 17:35:44.38 .net
配列の添字にintは勿体ない
charで十分

12 :仕様書無しさん:2021/08/04(水) 19:15:13.11 .net
>>11
何が勿体ないだよ?
まだ8bitCPU使ってるのか?

13 :仕様書無しさん:2021/08/04(水) 21:38:00.25 .net
配列の定義は100バイト
つまり添字は100以上は使わない
charで十分

14 :仕様書無しさん:2021/08/04(水) 23:22:04.33 .net
仕事でそんな厨房のような設計する奴が来たら直ぐチェンジだわ

8bit 環境じゃ無いなら int をケチって char にしてもリソースの節約にもパフォーマンスの高速化にもならんし
100文字までの仕様がちょっと増えただけでインデックスが折り返してしまう潜在不具合を仕込むし

メンテナンス性を全く考えずに無意味な最適化で喜んでる

15 :仕様書無しさん:2021/08/05(木) 04:06:04.31 .net
バウンダリでアライメントがいくつつこうが
cの言語仕様としてのcharは1バイト
intをcharにすることで省力化に成功している

また、for(b--;b>=0;b--)で
\0を出力しないようさりげなく考慮している部分も良いと思う

>>6は無駄を排除した洗練されたコードと言えよう

16 :仕様書無しさん:2021/08/06(金) 18:46:40.05 .net
コンパイラが最適化するようなところに可読性落としてまで中途半端な最適化入れるやつ困るわ

若い頃の自分がそうだったが

17 :仕様書無しさん:2021/08/06(金) 19:14:25.83 .net
別にチューニングするのはかまわんと思うが
環境依存になってしまっているコードでドヤ顔されても
「それはあなたの環境ですよね」としか言いようがない

18 :仕様書無しさん:2021/08/06(金) 20:33:08.74 .net
すげえオナニーコードだな。
forの初期化式にデクリメントなんかあったら普通に「は?」だわ。
そりゃ数秒で動くのはすぐわかるけど、この程度の内容で可読性無視して変数ケチるくらいパフォーマンス気にするか?
まあ間違いなく大規模開発したことない素人だな。
リーダブルコードおかずにセンズリこいてろ。

19 :仕様書無しさん:2021/08/06(金) 21:48:40.99 .net
char moji[100];
int b;

scanf("%s%n",moji,&b);
while(b>-1){
printf("%c",*(moji+b));
b--;
}

20 :仕様書無しさん:2021/08/06(金) 21:59:58.54 .net
char moji[100];
int b;

scanf("%s%n",moji,&b);
while(printf("%c",*(moji+(b--))) && b >-1);

21 :仕様書無しさん:2021/08/06(金) 22:21:14.28 .net
>>19 >>20
落書きなら便所の壁にお願いします

22 :仕様書無しさん:2021/08/07(土) 00:43:05.85 .net
配列をポインタであると見抜ける人でないと難しい

23 :仕様書無しさん:2021/08/07(土) 15:15:46.67 .net
見抜くってw当たり前の知識だろ

24 :仕様書無しさん:2021/08/07(土) 17:18:39.38 .net
>>23
お前何者?

25 :仕様書無しさん:2021/08/07(土) 23:25:24.78 .net
>>23を知らないなんてもぐりだろ

26 :仕様書無しさん:2021/08/08(日) 00:32:23.24 .net
配列とポインタは別の概念
実装レベルで同じだからといってシンタックスシュガーなんて言い出すのは正しくない

27 :仕様書無しさん:2021/08/08(日) 11:37:46.89 .net
>>17がひろゆきの名言のパロディを書いたから、
>>22もひろゆきをパロったんだよ

「それはあなたの環境ですよね」
  ↓
「それはあなたの感想ですよね」


「配列をポインタであると〜」
  ↓
「ウソをウソであると〜」

28 :仕様書無しさん:2021/08/08(日) 12:27:03.58 .net
そもそも容量を節約したいなら他に方法あるでしょ

29 :仕様書無しさん:2021/08/08(日) 12:52:44.41 .net
>>28
たとえば?

30 :仕様書無しさん:2021/08/08(日) 13:38:26.66 .net
>>29
構造体 アライメント

31 :仕様書無しさん:2021/08/08(日) 18:43:42.34 .net
ビットフィールドとか懐かしいな
しばらく使ってない

32 :仕様書無しさん:2021/08/08(日) 23:42:46.85 .net
charで手軽に節約する前にまずビット演算だろう

33 :仕様書無しさん:2021/08/08(日) 23:43:33.76 .net
そもそもintは何bitかの保証がない
仮にintが4bitであるならば、charにすると2倍になってしまう

34 :仕様書無しさん:2021/08/09(月) 08:15:44.92 .net
>>31
どこにビットフィールドがでてくるんだよ

>>32
ビット演算なんて使う局面ないだろ

35 :仕様書無しさん:2021/08/09(月) 13:57:51.82 .net
>>1の仕様によると使用する値は0〜100。つまり101〜255までは空いてるんだよ
まだまだ詰められるじゃないか

36 :仕様書無しさん:2021/08/09(月) 14:03:24.58 .net
>>35
どうやって詰めるの?
メモリってバイト単位でとられるんじゃないの?

37 :仕様書無しさん:2021/08/10(火) 00:37:13.33 .net
大学の課題だか研修の課題だか知らんけどこんなんにパフォーマンス求める前にまず誰か動くコード出してみろよ
https://wandbox.org/

38 :仕様書無しさん:2021/08/10(火) 10:40:26.05 .net
ほらよ
https://wandbox.org/permlink/JQc6ZwNrcNThSfkY

39 :仕様書無しさん:2021/08/10(火) 13:58:31.52 .net
やりなおし

intはつかうな
shortかlongをつかえ

40 :仕様書無しさん:2021/08/10(火) 15:15:38.09 .net
キモいコード

41 :仕様書無しさん:2021/08/10(火) 16:12:25.47 .net
クーラー涼しい

42 :仕様書無しさん:2021/08/11(水) 06:45:49.05 .net
出来たンゴねー:⊂二二二( ^ω^)二⊃ブーン
日本語にも対応してるンゴ
>>1の仕様も満たしてるぞ
https://wandbox.org/permlink/JZq9MSZF8XJXWqiG

43 :仕様書無しさん:2021/08/11(水) 13:25:23.59 .net
>>11
> 配列の添字にintは勿体ない
> charで十分

まじワロタw
組込みやってんのかな?笑

44 :仕様書無しさん:2021/08/11(水) 13:42:59.46 .net
>>39
short, int, longのどれを使っても処理系の特性に依存する点で同罪だよ
添え字はsize_tなんてぬかすやつがいるが、これもおかしい
配列の先頭と末尾のポインタを算術減算して導かれる型はptrdiff_tだ

45 :仕様書無しさん:2021/08/11(水) 16:05:44.68 .net
https://ideone.com/DfxhbY

46 :仕様書無しさん:2021/08/12(木) 06:16:32.85 .net
こんなので良いの?
https://paiza.io/projects/2nFhbeys3KrtgOtyzQCGkQ

47 :仕様書無しさん:2021/08/12(木) 06:24:25.50 .net
いやーしかし、このスレって scanf() で %s 使う人結構居るのかな?もしやここ初心者だらけ?
プログラムに関する質問ならプログラマー板ではなくプログラム板に行った方が良いと思うぞ。

48 :仕様書無しさん:2021/08/12(木) 09:02:09.06 .net
>>47
プロの本気見せてやれよ

49 :仕様書無しさん:2021/08/12(木) 12:29:32.89 .net
そもそも scanf 使うのが間違い

50 :仕様書無しさん:2021/08/12(木) 12:45:53.07 .net
プロは sscanf 使う
さらに文字数制限をかける
そして改行を読み飛ばす
sscanf(buff, "%" #N "s%*[^\n]", s);
https://marycore.jp/prog/c-lang/scanf-string-safely/

51 :仕様書無しさん:2021/08/12(木) 12:47:40.72 .net
scanf 使ってるプロなんて見たことない

52 :仕様書無しさん:2021/08/12(木) 14:41:58.93 .net
それ昔から言われているけど
じゃあ代わりに何を使うの?

53 :仕様書無しさん:2021/08/12(木) 15:08:39.28 .net
fgets

54 :仕様書無しさん:2021/08/12(木) 17:43:09.84 .net
>>48
本気ってほどではないがとりあえず何も考えずに無念無想で書いたのが>>46

55 :仕様書無しさん:2021/08/12(木) 18:10:26.52 .net
>>50
俺はsscanf()も文字列一つ切り出すだけなら使わないな。strchr()とかで自分で抜き出す範囲探してstrncpy()とか使っちゃう。
もっとこう、1行に複数の値が並んでいてsscanf()使って値を抜き出した方が効率良さそうとか見易くなりそうと思えるような時に使う。

しかし、そんなテキスト処理は sed, awk, perl 等のテキスト処理について細かく考える必要のない言語使ってしまう事の方が多いな。

56 :仕様書無しさん:2021/08/12(木) 18:14:09.30 .net
scanfなんて競プロでしか使わないでしょ
プログラムで使ってる奴いたらやばい人

57 :仕様書無しさん:2021/08/12(木) 18:59:54.48 .net
客先提供や長期に渡ってつかうアプリでscanfは使ったらいけないだろうけど、
一時的な動作確認や、机上テスト用ソースにまで使うなってのは度が過ぎると思う。

58 :仕様書無しさん:2023/06/15(木) 19:28:40.90 ID:lKfC/7YX1
自閉隊員が自閉隊員を銃殺とか税金泥棒殺人組織丸出しだが、岸田異次元増税憲法カ゛ン無視地球破壞軍国主義税金泥棒文雄に殺されたと言って
間違いないよな,結局、少子化か゛國の存続カ゛━た゛の嘘八百こいてんのは、利権確保とてめえが自由に殺せる兵隊か゛ほしいという邪悪な権カ欲求
によるものた゛しな,日本に原爆落とした世界最悪のならず者國家と共謀して軍事演習だなんだと隣国挑発して正当防衛権行使させて.白々しく
安全保障カ゛━た゛のプロパガンタ゛放送連発させてハ゛カ丸出しのJアラ一├だの國民煽って憲法9条無視して軍事増税して軍事大国化.相当の盆暗
て゛もなければこの惡質な茶番劇を滑稽に思うわな,しっかし四六時中パンパン騷音まき散らしてる隣が住宅地とかよくあんな所に住もうなんて
發想になるな.しかも無意味極まりない上空撮影のために私権侵害報道へリか゛ク゛儿ク゛ル飛ひ゛回って.むしろ殺人自閉隊員よりもこいつらこそが
莫大な温室効果カ゛スまき散らして地球破壊して気侯変動災害連発させて人殺してるのは明らか.カによる―方的な現状変更によって都心まて゛
数珠つなぎて゛憲法カ゛ン無視て゛クソ航空機に私有地侵略させて人殺しまくってるし、お前ら惡質自民公明を殲滅するか殺されるかと゛ちらかだそ゛

創価学会員は,何百万人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まで出てる世界最惡の殺人腐敗組織公明党を
池田センセ━か゛口をきけて容認するとか本氣で思ってるとしたら侮辱にもほと゛か゛あるぞ!
hтTрs://i,imgur、com/hnli1ga.jpeg

総レス数 58
13 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★