このプログラムできまっか?
せめてwandboxのpermalink貼ってくれ悟空ー!! >>11
何が勿体ないだよ?
まだ8bitCPU使ってるのか? 配列の定義は100バイト
つまり添字は100以上は使わない
charで十分 仕事でそんな厨房のような設計する奴が来たら直ぐチェンジだわ
8bit 環境じゃ無いなら int をケチって char にしてもリソースの節約にもパフォーマンスの高速化にもならんし
100文字までの仕様がちょっと増えただけでインデックスが折り返してしまう潜在不具合を仕込むし
メンテナンス性を全く考えずに無意味な最適化で喜んでる バウンダリでアライメントがいくつつこうが
cの言語仕様としてのcharは1バイト
intをcharにすることで省力化に成功している
また、for(b--;b>=0;b--)で
\0を出力しないようさりげなく考慮している部分も良いと思う
>>6は無駄を排除した洗練されたコードと言えよう コンパイラが最適化するようなところに可読性落としてまで中途半端な最適化入れるやつ困るわ
若い頃の自分がそうだったが 別にチューニングするのはかまわんと思うが
環境依存になってしまっているコードでドヤ顔されても
「それはあなたの環境ですよね」としか言いようがない すげえオナニーコードだな。
forの初期化式にデクリメントなんかあったら普通に「は?」だわ。
そりゃ数秒で動くのはすぐわかるけど、この程度の内容で可読性無視して変数ケチるくらいパフォーマンス気にするか?
まあ間違いなく大規模開発したことない素人だな。
リーダブルコードおかずにセンズリこいてろ。 char moji[100];
int b;
scanf("%s%n",moji,&b);
while(b>-1){
printf("%c",*(moji+b));
b--;
} char moji[100];
int b;
scanf("%s%n",moji,&b);
while(printf("%c",*(moji+(b--))) && b >-1); >>19 >>20
落書きなら便所の壁にお願いします 配列とポインタは別の概念
実装レベルで同じだからといってシンタックスシュガーなんて言い出すのは正しくない >>17がひろゆきの名言のパロディを書いたから、
>>22もひろゆきをパロったんだよ
「それはあなたの環境ですよね」
↓
「それはあなたの感想ですよね」
「配列をポインタであると〜」
↓
「ウソをウソであると〜」 ビットフィールドとか懐かしいな
しばらく使ってない そもそもintは何bitかの保証がない
仮にintが4bitであるならば、charにすると2倍になってしまう >>31
どこにビットフィールドがでてくるんだよ
>>32
ビット演算なんて使う局面ないだろ >>1の仕様によると使用する値は0〜100。つまり101〜255までは空いてるんだよ
まだまだ詰められるじゃないか >>35
どうやって詰めるの?
メモリってバイト単位でとられるんじゃないの? 大学の課題だか研修の課題だか知らんけどこんなんにパフォーマンス求める前にまず誰か動くコード出してみろよ
https://wandbox.org/ やりなおし
intはつかうな
shortかlongをつかえ 出来たンゴねー:⊂二二二( ^ω^)二⊃ブーン
日本語にも対応してるンゴ
>>1の仕様も満たしてるぞ
https://wandbox.org/permlink/JZq9MSZF8XJXWqiG >>11
> 配列の添字にintは勿体ない
> charで十分
まじワロタw
組込みやってんのかな?笑 >>39
short, int, longのどれを使っても処理系の特性に依存する点で同罪だよ
添え字はsize_tなんてぬかすやつがいるが、これもおかしい
配列の先頭と末尾のポインタを算術減算して導かれる型はptrdiff_tだ いやーしかし、このスレって scanf() で %s 使う人結構居るのかな?もしやここ初心者だらけ?
プログラムに関する質問ならプログラマー板ではなくプログラム板に行った方が良いと思うぞ。 プロは sscanf 使う
さらに文字数制限をかける
そして改行を読み飛ばす
sscanf(buff, "%" #N "s%*[^\n]", s);
https://marycore.jp/prog/c-lang/scanf-string-safely/ それ昔から言われているけど
じゃあ代わりに何を使うの? >>48
本気ってほどではないがとりあえず何も考えずに無念無想で書いたのが>>46 >>50
俺はsscanf()も文字列一つ切り出すだけなら使わないな。strchr()とかで自分で抜き出す範囲探してstrncpy()とか使っちゃう。
もっとこう、1行に複数の値が並んでいてsscanf()使って値を抜き出した方が効率良さそうとか見易くなりそうと思えるような時に使う。
しかし、そんなテキスト処理は sed, awk, perl 等のテキスト処理について細かく考える必要のない言語使ってしまう事の方が多いな。 scanfなんて競プロでしか使わないでしょ
プログラムで使ってる奴いたらやばい人 客先提供や長期に渡ってつかうアプリでscanfは使ったらいけないだろうけど、
一時的な動作確認や、机上テスト用ソースにまで使うなってのは度が過ぎると思う。