Cなら俺に訊け! Part 78
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNG質問する前には最低限検索を。
GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo! (←ここ注目)
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。
コンパイラを探しているなら >>2-13 を。
上記を逸した場合の結果は激しく未定義だYO!
C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
各種リンクは>>3-20あたり(誰か適当に貼って)
C言語なら俺に聞け! Part 76
http://pc5.2ch.net/test/read.cgi/tech/1081597375/
他の過去ログはここに
http://nssearch.hp.infoseek.co.jp/clang/
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNGhttp://gcc.gnu.org/
【Win32用の開発環境のみ。】
gcc-cygwin
http://www.redhat.com/software/tools/cygwin/
gcc-mingw
http://www.mingw.org
Digital Mars C++
http://www.digitalmars.com/
Open Watcom
http://www.openwatcom.com/
Borland C++ Compiler 5.5.1
http://www.borland.co.jp/cppbuilder/freecompiler/
【ライセンスや機能などに問題あり】
Microsoft C/C++ 13.0.9466(VC.NET)
http://www.microsoft.com/japan/msdn/netframework/downloads/
LCC-Win32
http://www.cs.virginia.edu/〜lcc-win32/
CINT
http://root.cern.ch/root/Cint.html
めじろ++98
http://www.vector.co.jp/soft/win95/prog/se075910.html
Intel C++ Compiler for Linux
http://developer.intel.com/software/products/compilers/clin/noncom.htm
0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNGバカ?
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNGここ読め
http://www.pleiades.or.jp/cbook/
0011デフォルトの名無しさん
NGNGブラクラ
0012デフォルトの名無しさん
NGNG...。第一不完全性定理から導けよ。
0013デフォルトの名無しさん
NGNGふつうに読めるじゃん。
0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNGどんなブラウザーで読んでるの?
0017デフォルトの名無しさん
NGNG...って先生が言ってたぞ。
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNG使ってるんだろ?
0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNGbreak2回。
フラグでチェック。
goto。
0023デフォルトの名無しさん
NGNG具体的にどう書くのですか?
0024デフォルトの名無しさん
NGNGまず、どういうコードで使いたいかソースを晒せ。
0025デフォルトの名無しさん
NGNGループ全体を関数に切り出してreturnって手もある
0026デフォルトの名無しさん
NGNGwhile (...) {
if (...) {
break; breal;
}
}
}// tha's joke
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNGループを1重にしる。
0029デフォルトの名無しさん
NGNGつまらなさ杉。空気嫁。
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNGfoo(a, b, c, (d, e), f);
0032デフォルトの名無しさん
NGNGchar *sみたいな変数を実引数で渡しても警告はでないですか?
0033デフォルトの名無しさん
NGNGwhile (){
if (){ flag = 1; break;}
}
if (flag == 1) break;
}
0034デフォルトの名無しさん
NGNGなぜ「;」が必要?
0035デフォルトの名無しさん
NGNG締めつける方向だからok。逆だと、constを理解して適切な警告レベルなら出るだろ。
0036デフォルトの名無しさん
NGNGcunt +=2; って書いてたら2年生に笑われました。なぜですか?
0037デフォルトの名無しさん
NGNGラベルは式につけるものだから。
0038デフォルトの名無しさん
NGNGcountも綴れないのかと?
0039デフォルトの名無しさん
NGNGcunt
━━ n. 〔卑〕 女性器; 〔軽蔑〕 女; 〔卑〕 嫌なやつ, ばかなやつ.
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNG...。第一不完全性定理から導けよ。
0042デフォルトの名無しさん
NGNGi = d; ってやると、dの値が切り捨てられちゃいます。
自然科学式の四捨五入をするにはどうすればいいですか?
また、銀行式四捨五入をするにはどうすればいいですか?
0043デフォルトの名無しさん
NGNG符号なし整数型の式で >>
0044デフォルトの名無しさん
NGNG切り捨てられるかどうかは実装依存。
その自然科学式とか銀行式の定義をまずしろ。
ceil()、floor()使え。
0045デフォルトの名無しさん
NGNG0046デフォルトの名無しさん
NGNGいわゆる世間一般常識のやつです。
0048デフォルトの名無しさん
NGNG銀行式
端数は着服
0049デフォルトの名無しさん
NGNGなぜですか?
> 切り捨てられる環境なら+0.5しとけ。
マイナスのときにうまくいきません。
0050デフォルトの名無しさん
NGNG好き好きだが、
一番最後に書けば、そのファイル中のmainから呼ばれる関数は
定義自身がプロトタイプ宣言を兼ねるため
独立したプロトタイプ宣言をいちいち書かなくても済む。
0051デフォルトの名無しさん
NGNGprototype宣言まんどくさいから。
マイナスの時って…少しは頭つかえよw
0052デフォルトの名無しさん
NGNGどうしたらいいですか。
0053デフォルトの名無しさん
NGNGMS-DOS用のコンパイラを使え
0054デフォルトの名無しさん
NGNGWindowsXPで動きますか?
ちなみにどこでかえますか?
0055デフォルトの名無しさん
NGNGまず、どうしてcomファイルが作りたいのか言え。
005652
NGNG昨日神さまからのお告げがあって、
GWが終わるまでにつくらないと隕石が地球に衝突するそうです。
0057デフォルトの名無しさん
NGNGそうか、じゃぁ教えない。
005852
NGNGどういえばおしえてくれますか?
0059デフォルトの名無しさん
NGNGだから、まず、どうしてcomファイルが作りたいのか言え。
0060デフォルトの名無しさん
NGNGEOFを示す値は何を入力すればいいのでしょうか?
テキストには^Zってありましたが、終了してくれません。
0061デフォルトの名無しさん
NGNGいろんな定義があるんじゃないのかと〜。
+0.5して切り捨てたときのふるまいもじゅう〜ぶんに四捨五入だとおもうんだけどぉ〜。
006252
NGNG人が人らしくあるのに理由がひつようなのかい?
0063デフォルトの名無しさん
NGNG拡張子を.exeから.comに変える。
0064デフォルトの名無しさん
NGNG第一不完全性定理から導いてください。
0065デフォルトの名無しさん
NGNG^Zってのが
Ctrl + z ってのはわかってるだろうな。
0066デフォルトの名無しさん
NGNGだったらcomファイルを作る理由もないだろ。ましてや人に聞く必要もない。
0067デフォルトの名無しさん
NGNGCtrl+zの後にEnterも必要だ、普通は。
0068デフォルトの名無しさん
NGNG理由が無いんじゃなくて理由が必要ない
0069デフォルトの名無しさん
NGNG人らしいっていうのがちょっと曖昧だね・・・
きちんと人らしいって言葉を定義してもらわないと・・・
007060
NGNGCTRL+Zなのですね。どもですた。
0071デフォルトの名無しさん
NGNG1.高校生以上は非道程であること
0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNGchar *str_chr(const char *str, int c)
{
for ( ; *str; str++){
if (*str == c)
return ((char *)str);
}
return (NULL);
}
int main(void)
{
char str[10], *p;
char uletter[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
printf("英大文字を入力してください:");
scanf("%s", str);
p = str_chr(uletter, str[0]);
if (p !=NULL) puts(p);
return (0);
}
本に載ってた例題で、読み込んだ英大文字以降のアルファベットを表示するというプログラムなんですが
最初の関数を宣言するときint型の引数cを取る理由がわかりません。
char型ではいけないのですか?
0074デフォルトの名無しさん
NGNGまず、そんな本は捨てろ。
0075デフォルトの名無しさん
NGNG文字を扱うだけならcharで問題なし。
ただ文字以外にEOFも表現できるようにするために大きな型であるintになっている
getchar(), getc()やらの結果をそのまま渡せるようにするならintにしたくなるかもな。
0076デフォルトの名無しさん
NGNG標準関数strchrに合わせているのでは?
0077デフォルトの名無しさん
NGNGたまたま間違えたんだろ。
0078デフォルトの名無しさん
NGNGプロジェクトのソースには何度も使われています。
やはり使ってもいいんでしょうかね。
0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNGgotoは"刃物"だ。
適切な場所が判断できないうちは無条件に使わないほうがいいかもしれんし
逆に使って痛い目にあって学習する手もあるかもしれん
0081デフォルトの名無しさん
NGNG>gotoを使うなと怒られた
その前後に何か修飾する言葉がついていなかったか?
「おまえは」とか、「こういう処理に」とか、「やたらめったら」とか。
0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNGCの場合はごくまれにgotoが有効なケースがある。
しかし、初心者は使ってはいけない。
0084デフォルトの名無しさん
NGNGgoto嫌いな人のが多いから使わない方がいいよ。
008573
NGNGありがとうございました
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNG例えばswitch文の中にラベル貼るとか・・・
0089デフォルトの名無しさん
NGNGint main() {
hahaha:
printf("ぬるぽ");
goto hahaha;
return 0;
}
0090デフォルトの名無しさん
NGNG入れ子の無いforとか、whileとか、switchとか。continueやbreakの代わりとか。
構文が用意されているものをわざわざgotoを使って記述することかな?
フツーに配列をたどっていくのにforでなくwhileを使ったりするのと同じように。
0091デフォルトの名無しさん
NGNGあとはあれだな、switchの中のcaseラベルに飛ぶやつ。
0092デフォルトの名無しさん
NGNGswitchはラベルあるけどbreak;かreturn;だから問題なし、default:も
書いておけば。
ただ巨大なswitchは可読性下がるけどWinのWindowProc()とか・・・
0093Aransk
NGNG★☆★無知無学な文系糞虫祭り★☆★ 絶賛開催中!!!
http://pc5.2ch.net/test/read.cgi/tech/1083624060/
/| | |_____ΦΦΦΦΦΦΦΦΦΦΦ||ΦΦΦ
| | | ̄ ̄ ̄ /| ||
| | | / /|TTTTTT TTTTTTTTTT||TTTTT
| /\ | /|/|/|^^^^^^ |三三| ^^^^^^^^^^^||^^^^^^^
| / / |// / /|
| / / |_|/|/|/|/|
| / / |文|/ // /
|/ /. _.| ̄|/|/|/ Λ_Λ
/|\/ / / |/ / (___) 表示的意味論わからずに
/| / / /ヽ /〔 祭 〕〕つ 意味論騙ろうとはふてぇ奴だ
| | ̄| | |ヽ/l `/二二ヽ みんなでまつっちまえ
| | |/| |__|/ Λ_Λ / /(_)
| |/| |/ ( ´∀`) (_) Λ_Λ
| | |/ // / ^ ̄]゚ (` ) 「構文が表示的意味論」(プッ
| |/ ゚/ ̄ ̄_ヽ ⊂〔〔 祭 〕
| / /_ノ(_) ┌|___|
|/ (__) (_ノ ヽ ヽ
/ (_)
0094デフォルトの名無しさん
NGNG意味分からん…
0095貧乏紙
NGNG0096デフォルトの名無しさん
NGNGアセンブラやN88BASICじゃなければgotoは一般的にご法度だな。
switchはdefault:も
書いておけば、ラベルあるけどbreak;かreturn;だから問題なし。
ただWinのWindowProc()とか巨大なswitchは可読性下がるけど・・・
こうですか?わかりません!
0097デフォルトの名無しさん
NGNG訳]アセンブラやN88BASICであればともかく、(Cでは)gotoを使う事はほとんど無いですね。
>switchはラベルあるけどbreak;かreturn;だから問題なし、default:も
>書いておけば。
訳]ラベルを使うという意味でswitchについてですが、
通常の使い方であれば break か return で処理分岐させるので気にする必要は無いはずです。
default: については記述するだけで自動的に該当しないケースの分岐しますし。
>ただ巨大なswitchは可読性下がるけどWinのWindowProc()とか・・・
訳]ところで話が変わりますが、Windowsでのプログラミングにおいて
WindowProc()とかで良く見かけるブロックが長い switch 、
可読性が下がるので良くないコーディングだと思いませんか?
0098デフォルトの名無しさん
NGNG機械翻訳ですか?結構うまくできるんですね。
0099デフォルトの名無しさん
NGNGCを勉強をするにあたって
ただ闇雲に覚えていくだけじゃつまらないので
何か作りたいと思いますが、
例えば簡単なシューティングゲームだとどのくらいのスキルが必要になりますか?
何ヶ月、何年とか期間じゃなくて、
何時間みたいな総合計、勉強すればよいのでしょうか?
(製作時間は含まない)
0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNG人による。
だいたいCの前にPascalとかまともな教育を受けていればCを使うのに1日はかからない。
0102Cを使うのに1日はかからない。
NGNG0103デフォルトの名無しさん
NGNG0104貧乏紙
NGNG0105デフォルトの名無しさん
NGNGネタの説明をしてくれ
0106デフォルトの名無しさん
NGNG使えるって人に言えるレベルって大体どのくらいですか?
0107デフォルトの名無しさん
NGNG0108デフォルトの名無しさん
NGNG> Pascalとかまともな教育を受けていれば
↓
Delphi≒ObjectPascal
↓
> Cを使うのに1日はかからない。
↓
del厨(゚д゚)ウマー
0109デフォルトの名無しさん
NGNG前提が間違ってるぞ。Del厨でも教育受けてるもの(相当)だぞ?
0110デフォルトの名無しさん
NGNGまぁDelphiの方がよっぽど難しいけどなw
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNGCを使うのにはそれなりに時間かかるんじゃないか
細かい差異があるととくに混乱するし。
0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNGPascalとかでまともな教育。
0116デフォルトの名無しさん
NGNGbagin
0117デフォルトの名無しさん
NGNGPascal∈まともな教育
こうか?
0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNG動かないよー、助けて!!
#include<stdio.h>
main(){
char *weekp[7] = {
"thu","fri","sat",sun","mon","tue","wed"
};
int i ,day;
scanf("%d",&day);
i = day % 7;
printf("%s\n", weekp[i]);
}
0121デフォルトの名無しさん
NGNG釣りですか?
0122デフォルトの名無しさん
NGNGエラーが出るのか、期待した動きにならないのか位はかけ。
0123デフォルトの名無しさん
NGNGsunの前に"を置け
0124デフォルトの名無しさん
NGNG何がしたいのかわからないよー、助けて!!
0125デフォルトの名無しさん
NGNGエラーが出ます
0126デフォルトの名無しさん
NGNG何がしたいのかわからないよー、助けて!!
0127デフォルトの名無しさん
NGNGできました、ありがとうございました
0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNG0130デフォルトの名無しさん
NGNG自分で作りたいと思ったものが作れれば。
言語以前に作りたいと思うものをどーしたら作れるかという部分も必要ね。
>>108
別にCが使えてウマーなわけは無いと思うが。誰でも使えるしね。
>>113
Pascalなら、じゃなくてそこが元でそ、大抵の奴は。
0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNG分からんのならそじゃないか?
漏れも分からんがやめようとは思わない。なんでそう思う?
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNGならやめるしかないなw
0135デフォルトの名無しさん
NGNGようするにあなたはわからないのですね?
0136デフォルトの名無しさん
NGNGしかもEnterの直後じゃないとね
0137デフォルトの名無しさん
NGNGなんで「)」と「{」をくっつけるんだよ
0138デフォルトの名無しさん
NGNG/* modified by goto */ ってコメント中がほとんどでしたが
0139デフォルトの名無しさん
NGNGラベルのないswitch文なんて、何の役ににも立ちません。
まるでコーヒーをいれないクリープみたいなものです
0140デフォルトの名無しさん
NGNG> 訳]アセンブラやN88BASICであればともかく、(Cでは)gotoを使う事はほとんど無いですね。
それは誤訳ですね。
正しい訳は、
「gotoがダメとかいう話はオレでもきいたことはあるぞ。なんでダメなのか、くわしくは
しらんが、ちなみに、俺がほかに名前を聞いたことがある言語はアセンブラとN88BASIC
ぐらいだ。たしかどっちかにはgotoっていうのもあったはず」
だな。
0141デフォルトの名無しさん
NGNGgoto がダメなのは、forやwhileループから強制離脱したり、何でも出来て
しまうことが出来てしまうから危険と言われてる
そもそもアセンブラには条件分岐を含むジャンプ命令しかない
関係ないがSasserなるウィルスの話題で持ちきり棚
0142デフォルトの名無しさん
NGNG0144大域ジャンプ
NGNG「そんなことしたら、私が私じゃなくなってしまう気がして...」
「人生にはいつかジャンプしなければならいないときがくるのさ。」
「でも...」
欲望に正直なだけ 満たされてたい Goto Heaven
0145デフォルトの名無しさん
NGNGなんだよ
0146デフォルトの名無しさん
NGNGscanf使うなよぼけ
0147デフォルトの名無しさん
NGNG0148デフォルトの名無しさん
NGNGガキの喧嘩口上みたいなこというお方ですね
0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNGTRUE/FALSE
True/False
true/false
どれを使っています?
0151デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNGちなみにC++もbool/true/false
DelphiみたいにTrue/Falseとか書かないし、
Javaみたいにboolean/true/falseでもない。
0153デフォルトの名無しさん
NGNGfunc()
{
printf("ほげ");
int i, j;
....
}
みたいに、ブロックの先頭以外で変数宣言できるみたいですが、これって何か便利なこと
ありますか? (っていうか、できないと不便な場面)
0154デフォルトの名無しさん
NGNGそれは君が機械語やったことないからそう思うだけ。
gotoに限らないが、cのコードに対応する機械語を想像可能かどうかで
cに対する理解度や理解の容易さは違ってくる。
たとえば、アセでも構造化言語的にコードを記述することはある程度可能
なんだが、そういう経験がある人にとってはcでgotoをどんな場合に
使ったほうがいいかの判断は比較的容易だ。
0155デフォルトの名無しさん
NGNGいーや逆だろ。やったことあれば、高級言語のgoto論争にアセンブラもちだしても意味ない
ことぐらいわかるだろーに ぼけ
0156デフォルトの名無しさん
NGNGつまりifやwhileやforやdoやbreakやcontinueで表せないものだけにすべし、って
ことにすると、実際、gotoを使わないと表せない場面ってのは、ロジックやフローが
適切じゃない場合がほとんど。なので、初心者のうちは「goto不要論者」にだまされて
「とにかく使ってはいけないものなのだ!」と思い込んでいても、たいした弊害はない。
0157デフォルトの名無しさん
NGNG読んでください。(いま手元にないのでページ数はわかりませんが)
0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG使いたい変数をブロックの先頭で宣言する事しかできないので
あらかじめ先頭に書いておく必要があった。
これからはいつでも使いたい所で宣言すればOKって事。
0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNGCでは宣言はブロックの先頭でしかできない。自由にできるのはC++の機能。
途中で宣言できるとスコープを有効に使える。使ってる場所のすぐそばで型が確認できる。
(コンパイラの都合だが)最適化に有利。
>>154
機械語を直接やらずともアセンブラをやればまぁ十分だな。
>>155
高級言語にgotoは無用。ちなみにCは低級言語の部類だ。
0162デフォルトの名無しさん
NGNGC99では宣言はどこでもできたはず。
・char *p = strchr( hoge , 'T');みたいに、定義と同時に初期化をかけることで、
変数を不定値のまま扱う事故が少なくなる。宣言と代入を離さねばならないと、
するとchar*p=NULL; .... p = strchr(hoge,'T');みたくしないとドツボになるが面倒。
・必要なときに定義するので、変数のスコープが明確になる。
という利点があるな。
0163デフォルトの名無しさん
NGNG"できないと不便な場面"はちと思い当たらんが、
ある関数で引数の異常チェックをしてから処理をする場合、
func()
{
いろいろな処理用の変数宣言
引数パラメータのチェック
if(異常) return;
いろいろな処理
}
って書くよりも
func()
{
引数パラメータのチェック
if(異常) return;
いろいろな処理用の変数宣言
いろいろな処理
}
の方がすっきりするかな。
0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNGVC7ならおけ?VC6はだめ。
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNGブロック先頭にまとめてた時代はよかったのだが、
途中にあると、どこに宣言があるのかわかりづらいんだよなあ
0170デフォルトの名無しさん
NGNG逆に頭にあるほうがどこで使ってるのか不明なことが多いな。
使うときに宣言する方が分かりやすいと思うな。
まぁコードというか、それを書いたやつのレベルに大いに依存するが。
0171デフォルトの名無しさん
NGNGGotoを怖がるのは処女童貞の法則なんだな(w
インテリがシモネタ耐性が無いのと同じ。
熟達者はむしろそれを楽しみ
精神性をもって芸術の域にまで高めるものだ。
第一真のプログラマーは(以下略)
0172デフォルトの名無しさん
NGNGそんな糞コードは作り直せ(w
0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNG怖がるかどうかはたいしてもんだいじゃなくて、
「こわがらせるかどうか」の問題にすぎない
0175デフォルトの名無しさん
NGNGそんな糞コードは作り直せ
つまり先頭にまとめるってこと?
0176デフォルトの名無しさん
NGNG>YES/NO
>TRUE/FALSE
OK/NG
GOOD/BAD
LIVE/DEAD
0177デフォルトの名無しさん
NGNG1/0に関してききかたかったのですが、
OK/NGも1/0なんですか?
0178デフォルトの名無しさん
NGNG>つまり先頭にまとめるってこと?
アフォか
ブロックが分かりにくいのは構造が悪いからだろ
0179デフォルトの名無しさん
NGNGは?
ブロックの「内部」の話ですが。
0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNG0182デフォルトの名無しさん
NGNG言い伝えに従えば OK=0, NG=1 だな
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNGブロックって{と}で囲まれている範囲を指すと思うが...
0185デフォルトの名無しさん
NGNGこいつは、
・Cの宣言がどこに書けるのかしらない
・アセンブリ言語と機械語の差をちゃんと把握できていない
・でも知ったぶりしたい
・gotoに関しては評判がよくないことぐらいしか知らない
っていうやつですね。
0186デフォルトの名無しさん
NGNGだからブロックの「内部」の話だって言ってるだろ ぼけ
184はまだ理解できていないのか。
0187デフォルトの名無しさん
NGNGfor (int i = 0; i < MAX; i++)
...とかってやるとき、このiのスコープはどこまで?forループ抜けても使える?
C++やJavaでも同じですか?
0188ビル・ジョブス
NGNGおれなら、OK==0、NG!=0だな
0189デフォルトの名無しさん
NGNG#define NG (!0) とするだけだと、結局1が入るだけでつまんないじゃん
0190デフォルトの名無しさん
NGNGまぁまぁ、マターリCましょう
0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNG0193ビル・ジョブス
NGNG(!0)は必ず1じゃないと思うよ。
0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNG>184 は >178 宛てだと思うが、大丈夫か?
0196ビル・ジョブス
NGNG#190は名前入れ忘れたおれだが・・文句あるか?
0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNGCなら1が保証されている。
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNG1だよ。そう定義されている。
真偽の判定をするとき、真は0以外、偽は0。
だが、真偽の判定をした結果は真が1、偽は0。これ常識。
0202デフォルトの名無しさん
NGNGフーン
0203デフォルトの名無しさん
NGNG「エラーがあったかどうか」だから、とても合理的でわかりやすく素直でよくできてると思うが。
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNG0207202
NGNG0208デフォルトの名無しさん
NGNGあれ、その構造体をコピーするんですよね? sizeof(FOO)==1024ぐらいだったら、
たとえば1KB分。
それと同じことって配列でできないでしょうか?
0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNGじゃあ、確実に1じゃん。おまえぼけすぎ
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNGなんかそれいやん...。
ほかに方法ないですか?
0213デフォルトの名無しさん
NGNGそれ以外ない
0214デフォルトの名無しさん
NGNG0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNG0218デフォルトの名無しさん
NGNGCobol 2003と
オブジェクティヴCobol
0219デフォルトの名無しさん
NGNGまず、どうしてそういうことがしたいのが理由を述べよ。
その前に何がしたいのが言えば別の解決法が常に存在する。
0220デフォルトの名無しさん
NGNGいやです。
0221202
NGNG>じゃあ、確実に1じゃん。おまえぼけすぎ
その事については何も逝ってませんが、大丈夫ですか?
あなた木瓜杉です。
0222デフォルトの名無しさん
NGNGじゃあなんで構造体ではしていいの? ずるいじゃん
0223デフォルトの名無しさん
NGNGページじゃなくてペイジだろぼけ
0224デフォルトの名無しさん
NGNGページじゃなくてペイジだろぼけ
0225デフォルトの名無しさん
NGNGそういう決まりだから
0226デフォルトの名無しさん
NGNGCには値渡ししかないんだよ。配列の名前はポインタだから渡るのはポインタ。
0227デフォルトの名無しさん
NGNGそんなのCの入門書にはたいてい説明してあるじゃない。
それは「配列」は型ではないからだよ。
0228デフォルトの名無しさん
NGNGじゃあなんで構造体ではしていいの? ずるいじゃん
0229デフォルトの名無しさん
NGNG型だぞ。
0230デフォルトの名無しさん
NGNGじゃあ構造体はー?
0231デフォルトの名無しさん
NGNGきー
0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNG構造体はサイズが変わらないが、配列は変わる場合がある。
だからやろうと思っても出来ない。
0234デフォルトの名無しさん
NGNGなんで配列は返せないの? ずるいー
0235デフォルトの名無しさん
NGNGえー。構造体が渡せなかった時代はいうまでもなく、
ごくさいきんまで、配列はサイズかわならなかったでしょ?
0236デフォルトの名無しさん
NGNG型でないなら、typedef int a[5];とかint (*p)[5];がエラーになるはずだが。
0237デフォルトの名無しさん
NGNGだから配列の名前はポインタなんだってば。
0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNG構造体の名前もそうしてよ
0240225
NGNG0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNG構造体も渡せなくなるぞ?w
0244デフォルトの名無しさん
NGNG嫌なら自分で気に入る言語を作れYO
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNG最低でも4人必要じゃん
0247デフォルトの名無しさん
NGNGいいもん。配列渡せないなら
0248デフォルトの名無しさん
NGNG思ったのですがC言語でそういった命令ありますかね?
0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNGfから始まる関数(fabsとか関係のないものもあるが)
0251デフォルトの名無しさん
NGNG^
0252デフォルトの名無しさん
NGNG作ったんじゃなくて、ソースうちこんだだけだろぼけ。
0253デフォルトの名無しさん
NGNG!=
0254デフォルトの名無しさん
NGNG(0以外の数値) ^ (0) で 1になります?
0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNG!!(0以外の値) ^ 0
0257デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNG&&や||の排他的論理和版がほしいんだろ?
だったら!=
0259デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNGいくらなんでもそれは嘘だ
0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNG*(a + i) と a[i]
a + i と &a[i]
0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNGどんな場合でも変数は「宣言」だろ?
0267デフォルトの名無しさん
NGNG定義。
extern int x;
0268デフォルトの名無しさん
NGNG0269デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNG逆だって。
0272デフォルトの名無しさん
NGNGa[0] と 0[a] も同義なんですか?
0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNGそれが定義。
0275デフォルトの名無しさん
NGNG0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNG0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNGバカの定義。
0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNGたくさんの"宣言"が(たくさんの変換単位に)存在してもいいが、
"定義"はただ一つしか存在してはならない。
定義とは実際に場所を確保する宣言で、初期値があるときは初期値を与える。
0285デフォルトの名無しさん
NGNG両方とも真か両方とも偽なら、つまり同じなら真。
0286デフォルトの名無しさん
NGNG0287デフォルトの名無しさん
NGNG誰もレスしていないようなので亀レス
Cではforループ中のみ(C99から)
C++では昔はforループの後でも使えたが今では使えなくなった。
この混乱を回避するためにコンパイラオプションで指定できるコンパイラも多い。
Javaはシラネ。
0288デフォルトの名無しさん
NGNGで、VC7はC99対応してるの?
0289デフォルトの名無しさん
NGNG>Cではforループ中のみ(C99から)
嘘つくなよぅ
0290デフォルトの名無しさん
NGNG釣り?
0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNG現行のVC7.1ではまだ未対応です
0293デフォルトの名無しさん
NGNG>&a[0] と a は同義
嘘は止めておけ
とりあえずsizeof(a)とsizeof(&a[0])の値を比べてみなさい
0295デフォルトの名無しさん
NGNGループの外で使えるのVC++のバグだったのだが。
いわく、カウンタ値をループ外で見たい場合があるので、だそうな。
0296デフォルトの名無しさん
NGNGISO/IEC 9899:1999の6.8.5.3
0297デフォルトの名無しさん
NGNG0298デフォルトの名無しさん
NGNGISO/IEC 9899:1999
6.8.5.3 The for statement
The statement
for ( clause-1 ; expression-2 ; expression-3 ) statement
If clause-1 is a
declaration, the scope of any variables it declares is the remainder of the declaration and
the entire loop, including the other two expressions;
>>295
バグって言うか、当時はループの外で使えるっていう決まりだったのよ。
VC7.0からはオプションで指定できるようになった。
0299デフォルトの名無しさん
NGNG答えになってないな。
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNG!=がxnorになるという根拠は?
0302デフォルトの名無しさん
NGNGfor(int i=0; ...){
}
int i;
↑ここでコンパイルエラー
ってバグ以外の何者でも無いが
0303デフォルトの名無しさん
NGNG当 時 は ル ー プ の 外 で 使 え る っ て い う 決 ま り だ っ た の よ
0304デフォルトの名無しさん
NGNGVC++6.0(のC++モード)なんてそうだよな。
for(int i=0;i<n;i++)
・・・;
for(int i=0;i<m;i++)
・・・;
なんてやったらエラー
0305デフォルトの名無しさん
NGNGこの人釣り師のつもりなのか、それとも天然なのか。。
0306デフォルトの名無しさん
NGNG偽(1)!=偽(2)で1
>>256ね。
0307デフォルトの名無しさん
NGNG前スレは77だろ
間違えるなアフォ
0308デフォルトの名無しさん
NGNGやっぱり釣り師か。。
0309デフォルトの名無しさん
NGNGでもバグだろ?
0310デフォルトの名無しさん
NGNG駄目と言いながら使っているように見えるのは俺だけか?
0311310
NGNGそういう意味か。
!(1)!=!(2)でいいんじゃねーの。
0312デフォルトの名無しさん
NGNGそだな。
0313デフォルトの名無しさん
NGNGそれとも規格が変わってそうなったの?
後者なら、VC6はバグではなく、最新規格未対応なだけだな。
仕様です。
0314310
NGNG0315デフォルトの名無しさん
NGNGそれとも「バグ」の意味を間違えているのか…。
この人にとっては処理系依存もバグなんだろうなぁ。
とりあえず手持ちのコンパイラにK&R時代コードでも食わせて「バグバグ」言ってろ。
>>313
漏れの記憶だと最新規格未対応って言うよりも、当時は規格自体が無かったような…。
0316デフォルトの名無しさん
NGNGそうそう、VC6はC++規格制定前の製品。
あとからでてきた規格に合致してないからってバグではないよな。
しかもMSはちゃんと規格に合わせたバージョンアップをしたわけだし。かなり遅かったけど。
0317デフォルトの名無しさん
NGNGそうだな。
for()のfor(ここ)が、forブロックの内側か外側かってのがはっきりしていなくて、
処理系によって解釈が違っていた気がする。
VCのような解釈はCからの互換性を重視したとも言える。
昔の(C99より前)ではforの前に宣言しておかなければならなかったわけで、
ループの後ろでも必ず参照できたからね。
0318デフォルトの名無しさん
NGNGi++;
printf("%d",sp);
sp++;
ドッチデモイイノ?(・ω・` )
0319デフォルトの名無しさん
NGNGハイレツノアドレス ハイッタ ポインタネ(・ω・` )
0320デフォルトの名無しさん
NGNG日本語で質問しろ。
0321デフォルトの名無しさん
NGNGiの型によるが、もしintやcharなら別にどっちでもいい。
0322デフォルトの名無しさん
NGNGどうもへただったらしく、マスカラに変更されたことが
10年以上たった今でも本当に腹立たしいよ。
0323デフォルトの名無しさん
NGNGおいおい、どっちもだめだろ printf() よく見ろ(w
0324デフォルトの名無しさん
NGNGNULLマクロがstdio.hとstddef.hの両方で定義されてるのは
どうしてですか?
例えばstdio.h内部でstddef.hをインクルードすれば
それでいいと思うのですが。
0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNG>stdio.hをインクルードしない場合
というのがよく分かりません。
調べてみたらstdlib.hでも定義されてました。
例えばnull.hとかを作ってそこでNULLマクロを定義して
stdio.h stddef.h stdlib.hのそれぞれでnull.hをインクルードすれば
いいと思うのですが。
0327デフォルトの名無しさん
NGNG親切なコンパイラなら警告を出してくれるだろうが、別に構わんだろ。
0328デフォルトの名無しさん
NGNG見るからにコピー&ペーストしたような感じでしたが。。。
仕様とかですかね?
0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNGいや違います。同じマクロを複数のヘッダファイルで
定義している理由が知りたいです。
0331デフォルトの名無しさん
NGNG0332デフォルトの名無しさん
NGNG警告レベルの話ぢゃねーよ
0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNG推測だがヘッダファイルから別のヘッダファイルをインクルードするより
単独のヘッダファイルですませたかったからぢゃないか?
0335デフォルトの名無しさん
NGNGほう、エラーになるコンパイラがあるなら教えてくれ。
0336デフォルトの名無しさん
NGNG�dクス(・ω・` )
>>332
*ワスレテタヨ(・ω・` )ゴメンネ
0337デフォルトの名無しさん
NGNG歴史的なもの。昔はstdio.hしかなかったのよ。
0338324
NGNGどうでもいいことなのかも知れませんが気になってしまったもので。
>>334
上で示したNULLマクロが定義されていたヘッダファイルは
別のファイルをインクルードしてませんでした。
>単独のヘッダファイルですませたかった
そういう制約があるような感じです。
ちょっと納得できてないですが
とりあえずそういうものと思うことにします。
みなさんありがとうございました。
0339デフォルトの名無しさん
NGNG「当時〜」って話を確認したければ、
当時のソースなりヘッダなりを見ないと
意味ねえぞ?
0340デフォルトの名無しさん
NGNGそのA.cppから呼び出される関数をA.hに保存するって形は
おかしいですかね?
0341デフォルトの名無しさん
NGNGおかしいよ。
0342デフォルトの名無しさん
NGNG#include "hoge.h"
といった、 < > と " " は、一般的にはどのように使い分けられているのでしょうか?
私は、インクルードパス以下にあるものは< >、それ以外は" "という風に使っていたのですが、
C標準ライブラリは< >、それ以外は" "というのもよく見かけるような気がしまして。
0343デフォルトの名無しさん
NGNGないヘッダはどうやって読み込んでるんだ?
#include "/usr/include/..."
なんてやってたのか?
0344デフォルトの名無しさん
NGNGいや、""で括ってもインクルードパスから探せるから。
0345デフォルトの名無しさん
NGNGそりゃ宣言
0346デフォルトの名無しさん
NGNGいくつかの標準システムディレクトリと、オプション
`-I' によって指定したディレクトリが含まれます。
#include の " "で囲まれたものは、相対パスの
ファイルを探します。
まぁいいんじゃない?
0347デフォルトの名無しさん
NGNG""の場合はカレントディレクトリから探し出す。その後に-Iやシステムで指定されて
いるディレクトリから。<>の場合はカレントディレクトリは探さない。
0348デフォルトの名無しさん
NGNGさっきからうぜえんだよ
もっと気の利いたエサ考えな低脳
0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNG0352デフォルトの名無しさん
NGNG0353デフォルトの名無しさん
NGNG>インクルードパス以下にあるものは< >、それ以外は" "という風に使っていたのですが、
>C標準ライブラリは< >、それ以外は" "というのもよく見かけるような気がしまして
確かにそういうのも時々見かけるけど、" "はファイル構成によっては思いもよらない自体が発生する
(しかも、ヘッダのバージョン違いか何かが原因だとその特定に時間がかかる)ので、
やっぱりインクルードパス以下にあるものは< >にするのが妥当だと思う。
0354デフォルトの名無しさん
NGNG一緒に洗濯していいかどうかは服のどこをみればいいんでしょうか?
0355デフォルトの名無しさん
NGNG0356デフォルトの名無しさん
NGNG私は白物とそれ以外でしか分けていませんが、特に問題を感じたことは無いです。
0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNG明日彼女のうちに誘われていて、いよいよ僕もCを体験できそうなのですが
やはりコンドームは男性が持っていくものなのでしょうか?
また、彼女もCは初めてらしいのですがいきなりフェラチオなどの強要は止
めたほうがいいのでしょうか?
あと、Cをはじめるときの心得などありましたら教えてください。
ちなみに今までの経験はAまでしかありません。
よろしくおねがいします。
0359デフォルトの名無しさん
NGNG氏ね。
0360デフォルトの名無しさん
NGNGレスくださったお二人方ありがとうございます、参考にします
0361デフォルトの名無しさん
NGNG殺伐としたスレに投入された一服の清涼剤
0362デフォルトの名無しさん
NGNGどうも一服と聞くと毒を盛られた気分になる。
0363デフォルトの名無しさん
NGNGよく、サンプルなどで
if( foo() )
処理
とか
if( !foo() )
処理
とかって書いてますけど、この条件文の意味がはっきりとは分かりません。
最初の例でいうと、これは何と比較しているのでしょうか?
if( foo() == 0 ) なのか、if( foo() != 0 ) なのか?はたまた違うものなのか?
誰か教えて下さい。お願いします。
0364デフォルトの名無しさん
NGNG真か偽かを判断している。
0365デフォルトの名無しさん
NGNG!=0が省略されていると思えばよい。
!foo()は逆に==0
0366デフォルトの名無しさん
NGNGCやってる奴でこんなこと知らない奴がいると思えん。
一応マジレスすると、ifはアセンブラで言ったらJZってことだな。
0367363
NGNGありがとうございます。
>>366 さんにはフィッシャー言われてしまいましたがマジでした。
でも、JZ に置き換えるというあなたの解説が覚えやすかったです。
0368デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNGこれはいかが?
どう?綺麗でしょ?
相手にならないわ
0370デフォルトの名無しさん
NGNGああ、それは、ifの後ろに空白が空いてなかったり、
カッコの内側に空白をあけているからですよ。
0371デフォルトの名無しさん
NGNGif (foo())
処理
とか
if (!foo())
処理
って書けばよかったのでね。たしかにそう書けばわかります。
ありがとうございました。
0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNGeat(mos_burger());
0374デフォルトの名無しさん
NGNG結果が0になってしまいうまく動きません。
#include<stdio.h>
int main(void)
{
double a;
int i;
a=(1/2);
for(i=1;i<=100;i++){
a=a*(1/2);
}
printf("1/2の100乗は %ld です",a);
return 0;
}
こんなやつなんですが、どこがいけないんでしょう?
シンプルすぎて逆にわかりません…
0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNGえー おしえてよー
0377デフォルトの名無しさん
NGNG> for(int i=0;i<n;i++)
おまえら、空白あけろよ
0378デフォルトの名無しさん
NGNG> 処理系によって解釈が違っていた気がする。
C++のは初期は混乱していたが、Cは最初からきまってたね
0379デフォルトの名無しさん
NGNGたいがい通るのでは? 通らないのってどんなコードだろ?
foo(i)
int i;
{
とかも通るし、
さすがに i =/ 2; とかは通らないだろうけど、これはK&R時代じゃなくてそれ以前の時代だし
0380デフォルトの名無しさん
NGNGコンピュータで実数の演算するときの誤差については認識ある?
ググれば解説してるとこ結構みつかると思うけど。
2を100乗しといて逆数とるのは趣旨に反する?
0381デフォルトの名無しさん
NGNGたいがい通るのでは? 通らないのってどんなコードだろ?
foo(i)
int i;
{
とかも通るし、
さすがに i =/ 2; とかは通らないだろうけど、これはK&R時代じゃなくてそれ以前の時代だし
0382デフォルトの名無しさん
NGNG下記のような処理があり、
int index;
char file_name[ 15 ] = "ABCDEFGHIJKLM";
file_name[ 15 - 2 ] = '0' + index;
indexが0〜9までならいいのですが0〜19までの場合、
アスキーコード19はないと思うのでABC・・・という
風にアルファベットを利用したいと思います。
どのように改造すればよいでしょうか?
0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNGいまいちやりたいことが説明できてない気がする.....
おれの読解力のせいかもしれないけど。
0385デフォルトの名無しさん
NGNGいまいちやりたいことが説明できてない気がする.....
おれの読解力のせいかもしれないけど。
0386デフォルトの名無しさん
NGNGAから順にアルファベットを格納したいと考えています。
char file_name[ 15 ] = "ABCDEFGHIJKLM";のABCDEFGHIJKLMは適当に13文字つけただけなので
こちらは気にしなくても大丈夫です。
0387デフォルトの名無しさん
NGNG> int index;
> char file_name[ 15 ] = "ABCDEFGHIJKLM";
そんなところに空白あけるなよぼけ
0388デフォルトの名無しさん
NGNGいまいちやりたいことが説明できてない気がする.....
おれの読解力のせいかもしれないけど。
0389デフォルトの名無しさん
NGNG空白あけてないから
0390デフォルトの名無しさん
NGNG1/2だと0になる。素直に0.5と書くか、1.0/2とかにする。
ちなみに、pow(0.5, 100)で計算できるが。
>>382
file_name[15-2] = 'A' + index;
でいいのか?それとも、0-9は'0'〜'9'にしたいのか?
0391デフォルトの名無しさん
NGNG#include<stdio.h>
int main(void)
{
double a;
int i;
a=(1/2);
↑
for(i=1;i<=100;i++){
a=a*(1/2);
↑
}
printf("1/2の100乗は %ld です",a);
↑
return 0;
}
0392デフォルトの名無しさん
NGNGmain()
{
int c,n1;
n1 = 0;
while((c = getchar()) != EOF){
if(c == '\n')
++n1;
}
printf("%d\n",n1);
}
上のコードは改行の数をカウントするものなんですけど
うまく動きません。
どこが悪いんでしょう。
0393デフォルトの名無しさん
NGNGtmp[1] = 0;
strcat(filename, tmp);
と書くだけでOKですよ。
0394デフォルトの名無しさん
NGNG> どこが悪いんでしょう。
空白あけてないから
0395デフォルトの名無しさん
NGNG動くよ?どう動いて欲しいの?
0396デフォルトの名無しさん
NGNG0397デフォルトの名無しさん
NGNG#include <stdio.h>
main()
{
int c, n;
n = 0;
while ((c = getchar()) != EOF) {
if (c == '\n')
++n;
}
printf("%d\n", n);
}
ほら、ちゃんとうごきましたね。
0398デフォルトの名無しさん
NGNG>file_name[15-2] = 'A' + index;
>でいいのか?それとも、0-9は'0'〜'9'にしたいのか?
今回、indexは0〜19までの値が入ることになっています。
0〜9までなら382ので問題ないのですが19までとなると
改造が必要だと思いました。
上記への改造でfile_nameに格納されるのは
ABCDEFGHIJKLMA
ABCDEFGHIJKLMB
・・・
ABCDEFGHIJKLMTとすることができるのでしょうか?
0399デフォルトの名無しさん
NGNGうごきました。
どうもありがとー
0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNG26までなら平気だろ? アルファベットは26個あるんだから
0402デフォルトの名無しさん
NGNG26まで対応可能にするには'0'→'A'とするだけで済む
ということでよろしいですか?
0403デフォルトの名無しさん
NGNG>アスキーコード19はないと思うので
アスキーコードに「19」は存在すると思うが、
これは「アスキーコード19」とか言うコード体系の事だろうか?
もしそうなら、こんなコード体系は聞いたことがないな。
# って言うか、勝手な脳内変換を働かせると
#
# int index = 11; /* 値は適当 */
# char filename[256] = {'\0'};
# FILE *fp;
# sprintf( filename, "hoge%c.txt", "0123456789ABCDEFGHI"[index%19] );
# fp = fopen( filename, "r" );
#
# こんな感じか?
0404デフォルトの名無しさん
NGNG'0'のままでも行けるんじゃないのか?
ASCIIみてないけど。。。
0405デフォルトの名無しさん
NGNGエスケープ文字間違ってんじゃねえよ糞ヴォケが
「ちゃんとうごきました」だと?
おまえの脳内コンパイラなんぞ持ち出すな痛違い野郎
0406デフォルトの名無しさん
NGNGそれに「アスキーコード」なるものは存在しません。
ASCIIのCは何の略かを考えれば常識
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNGファイル名に使えない文字を通っちゃうのでだめです。
0409デフォルトの名無しさん
NGNGこうすると
int index = 19;のときfile_nameには何が格納されます?
0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNG考えてもらってありがとうございます。
ちょっとそこまで頭がついていってないです。m(__)m
0412禿
NGNGbc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
ibase=16
30
48
ibase=A
48 + 19
67
obase = 16
67
43
えーと 0x43 は 'C'
が13番目の添字に...
0413デフォルトの名無しさん
NGNGbcが使えることを言いたいだけ?
何やってんだかサパーリ。
0414デフォルトの名無しさん
NGNGキーボードのF1キーでも実行できるようにするにはどうすればいい?
0415デフォルトの名無しさん
NGNGスレ違い。
0416デフォルトの名無しさん
NGNGどうしたらいいですか?
どなたかおねがいします
0417デフォルトの名無しさん
NGNGすみません
間違えたました、出直してきます
0419412
NGNG強烈に外したみたいなので、寝ます。
0420デフォルトの名無しさん
NGNG理論はわかってるけど
どうコードにすればいいのかわからないです
差し支えなければコードを書いてくれませんか?
初心者ですみません
0421デフォルトの名無しさん
NGNG0422デフォルトの名無しさん
NGNGここまで何人もが答えのコードそのものを書いているのに
それでもわからないと言っている人には
もう知る権利はありませんよね
0423デフォルトの名無しさん
NGNGどこか分かり易い良いサイトある?
0424デフォルトの名無しさん
NGNG何が分からないの?
特に何も難しいところはないはずだが。
0425デフォルトの名無しさん
NGNG結果が「NG」になると とあるサイトに書かれていたのですが
VC++6.0でコンパイルしてみたところ、見事に「OK」になります
なぜですか?
double d = 0.1;
if(d * 10 == 1.0){
printf("OK");
}else{
printf("NG");
}
ちなみに、これだと駄目みたいです。
int i, d = 0;
for(i = 0; i < 10; i++){
d += 0.1;
}
0426デフォルトの名無しさん
NGNG最適化で定数式の展開をコンパイル段階でしちゃったんじゃないの
0427デフォルトの名無しさん
NGNGというか、上のプログラムと下のプログラムで結果が違って
くるのがそもそも問題だと思わない?
安心してプログラムが書けないでしょ?
0428425
NGNG>>426
こんな感じで置き換えられたという事ですか?
if(1.0 == 1.0)
でも、デバッグモードでは最適化はしていません。
>>427
そちらの環境では、どっちでも「NG」ですか?
0429デフォルトの名無しさん
NGNG> int i, d = 0;
> for(i = 0; i < 10; i++){
> d += 0.1;
> }
> int i, d = 0;
そりゃ駄目だろうな┐(´∀`)┌
0430デフォルトの名無しさん
NGNG警告でてるはずだね(笑)
0431デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNG出ない?
警告レベル落とせば出なくなるか・・
0434デフォルトの名無しさん
NGNG>Cでは0.1が上手く表現出来ない為
Cだからではなく2進浮動小数点表現では、だな。
0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNGhttp://www.kumei.ne.jp/c_lang/intro/no_34.htm
ここ見てみると
b=NULL;
ってやった後にメモリ確保して、aに入力したデータ入れた後の
a->nextlist = b;
b = a;
の部分がどういう事なのかさっぱり…
次のポインタのアドレスにNULLが入つた構造体のアドレスを入れてる???
0437425
NGNGint main(void)
{
double d = 0.1;
int i;
if(d * 10 == 1.0) printf("OK\n");
else printf("NG\n");
d = 0.0;
for(i = 0; i < 10; i++) d += 0.1;
if(d == 1.0) printf("OK\n");
else printf("NG\n");
return 0;
}
結果
OK
NG
WinXP + VC++6.0Pro
デバッグモード(最適化ナシ)、リリースモード(最適化アリ)ともに同じでした。
0438デフォルトの名無しさん
NGNGgccだと出ないね。こりゃひどい。g++だと出るのか。
VCだとC相手でも警告ちゃんと出るようだ。(VC7.1で確認)
0439デフォルトの名無しさん
NGNG結果的に綺麗な値に納まるが
doubleのまま加算を繰り返す場合、64bit実数のままで毎回下の値が切り捨て
られるため誤差が累積するとかそんなかんじ?
0440デフォルトの名無しさん
NGNG0441デフォルトの名無しさん
NGNGそれぞれの命令の前でどの変数が何を指してるか、
飛ばさずにちゃんと考えた方がいいぞ。
それこそ紙に表でも書いてさ。
0442デフォルトの名無しさん
NGNGfld QWORD PTR _d$[ebp] ; 0.1が入っている
fmul QWORD PTR __real@8@4002a000000000000000 ; 10
fcomp QWORD PTR __real@8@3fff8000000000000000 ; 1
fnstsw ax
test ah, 64; 00000040H
je SHORT $L776
これで真なんだからコンパイラってよりもプロセッサのほうだと思われ
0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNGアセンブラ ばりばりですね。是非わたしのバグもちAPを解析してほしいです。
0446デフォルトの名無しさん
NGNGA ? B : C
と書きますが、Bを省略した場合、
A ? : C
Aが真の場合の動きはどう定義されているのでしょうか?
#というかそもそも文法的に正しい?
ちなみに gcc 2.95.4 では、A を評価した値が返って来ます。
0447デフォルトの名無しさん
NGNGちなみに CL (VC++6.0)だと
error C2059: 構文エラー : ':'
0448446
NGNG0449デフォルトの名無しさん
NGNG浮動小数点数に==を使うのは御法度。
0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNG2つの浮動小数点の値が"十分近い"ことを判定するよい方法は。
A:
浮動小数点の値の絶対的な精度は、浮動小数点の定義により、その大 きさによって変化するので、二つの浮動小数点の値を比較する最上の 方法は精度の敷居を使うことである。精
度の敷居は、比較しあう数の 大きさに比例させる。
double a, b;
...
if(a == b) /* 間違い */
ではなく、以下のコードを
#include <math.h>
if(fabs(a - b) <= epsilon * a)
適切に選んだepsilonと共に使え。
0453デフォルトの名無しさん
NGNGHSPスレの次はここに出張ですか?sage厨さん。
0454デフォルトの名無しさん
NGNGアフォですか?
0455デフォルトの名無しさん
NGNGdouble x=0.1;
double d;
memcpy(&d,&x,sizeof(double));
こうするとどうなる?
0456455
NGNG0457デフォルトの名無しさん
NGNG0459デフォルトの名無しさん
NGNG0460デフォルトの名無しさん
NGNGオンラインアセンブラをC言語で
使う方法を教れてください。
0461デフォルトの名無しさん
NGNGコンパイラ以外にCPUによっても計算結果が変わるよ
だからあんまり議論しても意味は無い
>>460
「インラインアセンブラ」だな。環境依存OKスレに逝ってこい。
0462デフォルトの名無しさん
NGNG0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNGどなたかご教授下さい
0465デフォルトの名無しさん
NGNGコンパイラとリンカのマニュアル読め。
0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNG速くなるかもしれないし、速くならないかもしれません。
0468デフォルトの名無しさん
NGNGFILE *fp = fopen("file", "r");
int size;
fseek(fp, 0, SEEK_END);
size = ftell(fp);
>>466
今のコンパイラは最適化がしっかりしてるので
速くはならないと聞いたけど…
0470デフォルトの名無しさん
NGNGどうしたらいいんでしょうか?ド初心者なものでわかりません…。
printfとかだけで簡単にできるんでしょうか…?
0471デフォルトの名無しさん
NGNGプログラムは置いといて、取りあえず4桁の数字と睨めっこしてごらん
0472デフォルトの名無しさん
NGNGint i = 1234;
char s[10];
sprintf(s, "%d", i);
printf("%c\n", s[0]);
printf("%c\n", s[1]);
printf("%c\n", s[2]);
printf("%c\n", s[3]);
0473デフォルトの名無しさん
NGNGint i = 1234;
printf ("%d %d %d %d",i/1000,i%1000/100,i%100/10,i%10);
0474デフォルトの名無しさん
NGNG�d
そのためのmakefileなのね
0475470です
NGNGやっとわかりました。
0476デフォルトの名無しさん
NGNGなんとなく。
0477デフォルトの名無しさん
NGNG0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNG> if(d * 10 == 1.0)
>>452
> if(a == b) /* 間違い */
っていうか、おまけら、空白あけろよ ぼけ
こういうコード書くやつにろくなやつはいない
0480デフォルトの名無しさん
NGNGで?そんな君はまともにプログラム組めるのかね?
実力無いやつに限ってそう言う当たり障りのない部分にこだわるんだよな。
何か突っ込まれたってプログラムの本筋とは関係ないからな。
0481デフォルトの名無しさん
NGNGぶっちゃけもう飽きた
0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNG0484デフォルトの名無しさん
NGNGバーカ
0485デフォルトの名無しさん
NGNGおまえ、だれにものいってるつもりだ?
0486デフォルトの名無しさん
NGNGint func(int, char *);
ってプロトタイプを書くのと、
extern int func(int, char *);
って書くのの意味の違いを教えてください。
どちらもよく見かけるのですが...。
0487デフォルトの名無しさん
NGNGない。
デフォルトがexternだから。
0488デフォルトの名無しさん
NGNGワラタ
0489デフォルトの名無しさん
NGNGってことは、つけてもつけなくても、文法的に同じってことですか?
0490デフォルトの名無しさん
NGNG変数だと、
int a;
static int a;
extern int a;
はそれぞれ3つとも意味違うじゃないですか (Unicじゃない場合)
ってことは、
static func(int); と
func(int); と
extern func(int); で
2つめのは前後のどっちの意味でもないのかなあ? とおもったのですよ!
0491デフォルトの名無しさん
NGNGは間違っているし、
・スコープ - グローバルとローカル
・宣言と定義
をちょこっと調べろ
0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNG0495デフォルトの名無しさん
NGNG関数はデフォルトでexternがつく、
グローバル変数はデフォルトで何もつかない
関数の内部の変数はデフォルトでautoだな
0496デフォルトの名無しさん
NGNGじゃあ、「外部にある」ってことですよね?
extern int func(int); って書いて「外部にある」って宣言しておいて、
その同じファイルの中に定義がでてくるのって、問題ないのかなあ?
0497デフォルトの名無しさん
NGNG>int func(int, char *);
int func(int, char *); →→ int func (int, char *);
空白開けろよぼけ。
0498デフォルトの名無しさん
NGNG知ったかぶりやろうめ
0499デフォルトの名無しさん
NGNGifやwhileの後ろに空白空けろっていうと、関数名の後ろにまであけるぼけがいるなんて!
0500デフォルトの名無しさん
NGNGプ
0501デフォルトの名無しさん
NGNGcharと*の間に空白をいれるなよぼけ。
0502デフォルトの名無しさん
NGNGなんつうか、もうお前はVCやひまわりでもやってなさいって感じ
0503デフォルトの名無しさん
NGNGそんなことでグチャグチャ騒いでんじゃねぇって感じ。
0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNG× GANDAM
○ GUNDUM
0507空白DQN発見↓
NGNG空白開けろとか開けるなとか全くもってくだらん。
そんなことでグチャグチャ騒いでんじゃねぇって感じ。
0508デフォルトの名無しさん
NGNGcharで定義された変数を、
数字のみの列だけの時と、数字列+文字列or文字のみの列だけの時の、
2通りに判断する場合に使用する関数は何が適しているでしょうか?
最初はatoiを使おうと思ったのですが、
この場合、charの中身が、
(例として10が通るべき実数とします)
abc
a10
の時はエラーを返してくれるのですが
10
10a <も、正しいと判断してしまいます。
宜しければ御教授御願い致します。
0509デフォルトの名無しさん
NGNGstrcspanでも使えば?
0510デフォルトの名無しさん
NGNGstrtol() で 「変換が終了した位置」 以降に
空白以外の文字がないことを確認する、とか。
0511デフォルトの名無しさん
NGNGatoiはエラーなんか返さない。
0512508
NGNGstrcspanと言うのが、「C言語 strcspan」辺りで、
ググったりして調べても見当たらないのですが……。
strcspnとは別物でしょうか?
>>510
えと、strtolを調べてみました。
更に質問を返してしまいますが、
「変換が終了した位置」を特定するには、
どの様な手順を踏まえるべきなのでしょうか?
>>511
失礼、思いっきり説明を省略してしまいました。
返って来た値が0の場合にのみエラーメッセージを出力し、
それ以外の場合にはそのままプログラムを進める、
と言う意味です。
0513デフォルトの名無しさん
NGNG調べたら分かるはずだぞ。
char *endp;
/* 中略 */
strtol("12345abc",&endp,10); /* endpはabcを指すようになる */
あとは分かるだろ?
0514デフォルトの名無しさん
NGNGあと509のstrcspanはstrcspnの間違いだな。
0516デフォルトの名無しさん
NGNGisdigit()辺りで変換前に判定する方法もある。
0517デフォルトの名無しさん
NGNGいや、あけるな。Stroustrapがそれをくっつけるのが好きなのだが、
char* p, q; とやったときに pとqが同じ型みたいでいやなので禁止。
0518デフォルトの名無しさん
NGNGGates Williams
0519デフォルトの名無しさん
NGNGisalnumやisdigitをぐるぐるしろ
0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNG(@∀@)ぐるぐる!
0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
NGNGint isDigitOnly(const char *s){
while(isdigit(*s)) s++;
return (*s=='\0');
}
0528デフォルトの名無しさん
NGNG改行もしろ
0529デフォルトの名無しさん
NGNG0530デフォルトの名無しさん
NGNGint isDigitOnly(const char *s)
{
while (isdigit(*s))
s++;
return (*s=='\0');
}
0531デフォルトの名無しさん
NGNG0532デフォルトの名無しさん
NGNG0533デフォルトの名無しさん
NGNG0534デフォルトの名無しさん
NGNG単項ならともかく、条件式なので、まあいいかなと。
0535デフォルトの名無しさん
NGNG0536デフォルトの名無しさん
NGNG「-1」しなきゃいけないのがださい。
while (isdigit(*s) && *s++)でどうだ ;-)
0537デフォルトの名無しさん
NGNGはっきり言って、まともな質問や議論に対しては邪魔でしかない上に、
全く面白くないのですが、何を考えているんでしょう?
いい加減飽きたでしょうから、さっさと消えて欲しいものです。
0538デフォルトの名無しさん
NGNG0539デフォルトの名無しさん
NGNGひたすら機嫌をとるしかないです。
0540デフォルトの名無しさん
NGNGとか言っているが、実は、537が一番わかってない。
0541デフォルトの名無しさん
NGNG環境依存っぽいな。-I (MS C なら /I) は付けたか?
0542デフォルトの名無しさん
NGNGb=-1;
さてbの値はいくつか? とか
#include <stdio.h>してるのに
getchar (c) でエラーになる、とか、
そういう体験していないってことは、537は、Cの話題で何がおもしろくて何がつまらないか
を全然わかっていないって言う証拠ですね。
0543デフォルトの名無しさん
NGNG> なら /I
ふつうclでも-I
0544デフォルトの名無しさん
NGNGwhileループ内で条件判断が増えるからだめ。
0545デフォルトの名無しさん
NGNG0546デフォルトの名無しさん
NGNGん?別に得意げに延々と話すことでもないような。
0547デフォルトの名無しさん
NGNG6行が「延々」かよ ...
虚勢がみっともない
0548541
NGNGmakefile に -I/usr/local/include やったら通ったよ
ありが�d
0549デフォルトの名無しさん
NGNG0551デフォルトの名無しさん
NGNG�dが読めない環境で2ちゃんは辛そうだな
0552デフォルトの名無しさん
NGNGげたでしょ?
0553デフォルトの名無しさん
NGNG> #include <stdio.h>してるのに
> getchar (c) でエラーになる、とか、
がどういうネタなのかさっぱりわからない・・・
#include <stdio.h>しているからこそ、エラーになるんじゃないのか?
0554デフォルトの名無しさん
NGNGまあ、でなおしといで。
0555デフォルトの名無しさん
NGNG変数の場合は、externついててもついてなくてもどっちもextern?
1箇所も初期化してなくてもリンク時に実体はできる?
0556デフォルトの名無しさん
NGNG頼むから説明してくれ。
stdio.hでint getchar(void);と宣言されているgetchar関数は、stdio.hをインクルードするからこそエラーになると思うんだが。
0557デフォルトの名無しさん
NGNGおれがかいたわけじゃないからしらん。
0558556
NGNGの間違い。
0559デフォルトの名無しさん
NGNGstdio.hの中に「それ」があるかどうかは規格では規定してないぞ。
0560デフォルトの名無しさん
NGNGそりゃint getchar ( void ) ;かもしれないし、extern int getchar(void);かもしれないが、そんなことを言っているんじゃないよ。
0561デフォルトの名無しさん
NGNGたぶん546は
「putchar (c); がエラーになる」とか言いたかったんだと思われ。
0562デフォルトの名無しさん
NGNG「putchar (c); がエラーになる」ような処理系を使った経験がないと、Cの話題で何がおもしろくて何がつまらないか
を全然わかっていないって言うことかな?
0563デフォルトの名無しさん
NGNG0564デフォルトの名無しさん
NGNGbの型が書かれていない。
0565デフォルトの名無しさん
NGNGその後、配列r中のn個の値を小さい順に並べ替え、並べ替え後の配列rの値をすべて表示する。
nの値は自由。表示のしかたも自由。
というプログラムが作れなくて困ってます。
誰か助けてください;
0566デフォルトの名無しさん
NGNG0567デフォルトの名無しさん
NGNGおそらく型はどうでもいいはず。(わたしの想像通りのネタなら)
0568デフォルトの名無しさん
NGNGrand,qsort,printfあたりの関数を使う。
0569デフォルトの名無しさん
NGNG昔あった演算子か
0570デフォルトの名無しさん
NGNGLCC-Win32は具体的にどういう問題があるんでしょうか?
0571デフォルトの名無しさん
NGNGintが16bit
0572571
NGNG0573571
NGNG> It's free for non-commercial use,
これじゃねーの?
Intelのフリーコンパイラも似たようなものだし。
0574デフォルトの名無しさん
NGNGvoid hoge(int n)
{
int n;
for (i = 0; i < n; i++)
r[i] = rand();
qsort(r, n, sizeof(int), compint);
for (i = 0; i < n; i++)
printf("%d ", r[i]);
}
int compint(int *a, int *b)
{
if (*a > *b)
return 1;
else if (*a < *b)
return -1;
else
return 0;
}
0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNG個人で使うには特に問題ないようですね。
ありがとうございます。
0577デフォルトの名無しさん
NGNG{
return *a - *b;
}
}
0578デフォルトの名無しさん
NGNG0579デフォルトの名無しさん
NGNG0580デフォルトの名無しさん
NGNGだから宿題スレでどうぞ
0581デフォルトの名無しさん
NGNGマルチすんなウスラハゲ!
0582デフォルトの名無しさん
NGNG(int main, int argc, char **argv)
{
(printf, "hello world %s??/n", argv[0]);
(return, 0);
}
Cの仕様がこんなんだったら凄くカッコいいよね。
関数名もかっこの内側に書けた方が見た目が綺麗だね。
で、ifの仕様はどっちがいい?
(if, argc==2){
(printf, argv[1]);
}
(if, argc==2, (printf, argv[1]));
0583デフォルトの名無しさん
NGNG0584デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNGコンマが無駄。
0586デフォルトの名無しさん
NGNGそれは問題か?
0587デフォルトの名無しさん
NGNGLisp向きな人ですね。
0588デフォルトの名無しさん
NGNG(
(printf 'hello world %s\n' (car argv))
0
)
)
あれ、なんかどこかで見た気が。
0589デフォルトの名無しさん
NGNG激しく同意。 まったくくだらん!
0590デフォルトの名無しさん
NGNG小さすぎていやん☆
0591デフォルトの名無しさん
NGNGを実行すると何も表示されないんですが、ワイド文字では日本語は扱えないということですかね?
環境はWinXP、VC++6.0です
0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNG!
つってくる
从从从
从从从从 ゴオオオォォォォォ…
从从从从从
从从从从从从 ̄⊃ ) )
⊂ 从从从从  ̄⊃ / ̄ ̄ ̄ヽ
⊂_ ._⊃ | (\/) |
⊂__⊃. | > < |
| (/\). |
ヽ___/
0594デフォルトの名無しさん
NGNGつってねぇ
0595デフォルトの名無しさん
NGNGmoeteruyo
0596デフォルトの名無しさん
NGNGダム!
0597デフォルトの名無しさん
NGNG0598デフォルトの名無しさん
NGNGうそつけ。
MSX-C/LSC-Cは16bit.
他にもあった?
0599デフォルトの名無しさん
NGNG0600デフォルトの名無しさん
NGNG0601デフォルトの名無しさん
NGNGtypedef struct{
...
char data[0];
} md;
最初バグかと思った。いや、やっぱりバグにしたい。。。
0602デフォルトの名無しさん
NGNG0603デフォルトの名無しさん
NGNGそれはライセンスですか?
0604デフォルトの名無しさん
NGNG0605デフォルトの名無しさん
NGNG4.2 構造体中の 0 長配列メンバ
http://seclan.dll.jp/c99d/c99d04.htm
「エキスパートCプログラミング」に同じような話題があったはず。
というわけで、割と使われるテクニックのひとつだったと記憶してます。
0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNG便利だけど移植性0になるからなぁ。
以前えらい目に遭ったからもう使わんようにしてる。
0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNGBITMAPINFO構造体で[0]が使いたいね。
0610デフォルトの名無しさん
NGNG空白あけろよぼけ
0611デフォルトの名無しさん
NGNGえ? そんなので警告やエラーでたら、それこそコンパイラーのバグじゃん
0612デフォルトの名無しさん
NGNG0613デフォルトの名無しさん
NGNGうーん、確かにバグだねえ・・・
0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNG0617デフォルトの名無しさん
NGNG0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNGと明解C言語書いてあるのですが
なりませんでした。コンパイラはgccです。なぜでしょうか?
ちなみに
-7 % -3 = -1
-7 % 3 = -1
7 % -3 =1
となりました。
0623デフォルトの名無しさん
NGNGだからそれは実装依存。
コンパイラやオプションによる。
0624デフォルトの名無しさん
NGNG○コンパイラー
0625622
NGNGこの本には
「二つのオペランドが同符号の値であれば、演算の結果は正の値になります。
二つのオペランドの符号が異なる値であれば、演算の結果は処理系に依存することになって
ますので注意しましょう。」
と書いてあるので
「二つのオペランドが同符号の値であれば、処理系に関わらず演算の結果は正の値になる。」
と思ったのですが。
0626デフォルトの名無しさん
NGNGそんなボケな本かうからだろ。
結果は、2つの被演算数のそれぞれ「絶対値」をつかって%の演算をし、
結果には1つめの被演算子の符号をつけると思えばよい。
0627デフォルトの名無しさん
NGNG> コンパイラやオプションによる。
これもウソ。
規格でちゃんと決まっている。
やーい > 知ったかぶり
0628デフォルトの名無しさん
NGNGだからちゃんとした本買えよ! その本ウソだらけだってば。
0629デフォルトの名無しさん
NGNG0630デフォルトの名無しさん
NGNGあれだけやめろと言ったのに。
0631デフォルトの名無しさん
NGNG書いてあることは正しいよ。
おまいさんの使ってるコンパイラが規格に則っていないだけ。
0632622
NGNGお勧めの本教えてください。
0633デフォルトの名無しさん
NGNGa % b = a - a / b * b が成立するはずなので
-7 % -3 = -7 - -7/-3*-3 = -1
-7 % 3 = -7 - -7/3*3 = -1
7 % -3 = 7 - 7/-3*-3 = 1
0634デフォルトの名無しさん
NGNGいいえ、まちがってます > 明解
あきらかなウソ。規格書読めよぼけ。
0635デフォルトの名無しさん
NGNG「作ってわかる...」 ...ぴー
0636デフォルトの名無しさん
NGNGけっこういい本では? 何か問題でも?
0637デフォルトの名無しさん
NGNGここでは禁句になってるんだよ。ぼけ!
(って、技術評論社のアノ本のことじゃなかったらどうしよう(^^;;)
0638デフォルトの名無しさん
NGNG(ただし原書)
0639デフォルトの名無しさん
NGNGたしか話題になったのは3年ほど前だった気がする。
0640デフォルトの名無しさん
NGNGすくなくともココには出てる ;-) > http://www.pleiades.or.jp/cbook/CBookList.html
本の名前並べるだけじゃなくて、どれがお薦めか、お薦めマークつけてほしいよなああ。
0641デフォルトの名無しさん
NGNGだめにきまってるじゃん! 著者がろくにCわかってないのよ?
まともなこと書けるわけないじゃん。
(まあ、三田某ほどはひどくないが、でも、人に教えたり本を書いたりする
レベルではない > 柴田望洋)
まだ高橋のほうがウソがかなり少ない(ある程度まともに理解している)だけまし。
0642デフォルトの名無しさん
NGNGやすやすと騙されて読んでいるやつって、あたまわるそうに見えるよなあ。
0643デフォルトの名無しさん
NGNG読むのはたいがい初心者。初心者はいい本と悪い本の区別付かない(つくぐらいなら初心者でない)。
また、その著者がウソいってるかどうかもわからん。
なので、しかたないのでは?
0644デフォルトの名無しさん
NGNGわかった! その本を選んだってことは、だれかに薦められたりして選んだ確率が高い
わけだろ? > 初心者
まあ、書評とか2chとかでの「おすすめ」選んだのかもしれんが。
つまり、「柴田望洋みたいなぼけな本えらぶやつは」
1. 頭の悪い友達しかいない
2. 頭の悪いやつが読むような本や2chを読んでいる
ってことだな!
これならあってるだろ?
0645デフォルトの名無しさん
NGNGおまえも2ch読んでる頭悪いやつだな
0646デフォルトの名無しさん
NGNG(三田某は問題外なので、わざわざいわんが、さすがに買うやついないだろうから)
買うやつはぼけとみなす!
0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNG柴田より上の実力の持ち主がいることだかw
正直、漏れだけだろwww
0651デフォルトの名無しさん
NGNGインド人
0652デフォルトの名無しさん
NGNGっていうか、おまえ、だれにものいってるつもりよ
0653デフォルトの名無しさん
NGNGまだ買うやついたのかよ! あんな本
0654デフォルトの名無しさん
NGNG0655デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNG自分で買って判断しろ!
すでに1冊読んでいるってことは、もう「初心者」じゃねーんだから判断できるだろ?
ついでに柴田本と比べてみればいい。どっちがまともかは一目瞭然だがな。
0657デフォルトの名無しさん
NGNGほかにないと思う! という感じの本です。
0658デフォルトの名無しさん
NGNG0659デフォルトの名無しさん
NGNG0660デフォルトの名無しさん
NGNGってことですから、マイナー分野はコスト合わないからやらないでしょうね。
柴田の粗製濫造ぶりは、CよりC++で顕著です。あれはひどすぎ
0661デフォルトの名無しさん
NGNG0662デフォルトの名無しさん
NGNG売れるかどうかは、出版社の営業力の問題だからね。
0663デフォルトの名無しさん
NGNG0664デフォルトの名無しさん
NGNG0665デフォルトの名無しさん
NGNGこういうときは規格そのものを転載するのが良い
C99の規格 6.5.5 6
When integers are divided, the result of the / operator is the algebraic quotient with any
fractional part discarded. If the quotient a/b is representable, the expression
(a/b)*b + a%b shall equal a.
0666ダミアソ
NGNG0667デフォルトの名無しさん
NGNG0668デフォルトの名無しさん
NGNG0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNG0672デフォルトの名無しさん
NGNG0673デフォルトの名無しさん
NGNGTNXだとトンクスになってしまう。
#あ、2ch的にはあってるのか。
0674デフォルトの名無しさん
NGNG0675デフォルトの名無しさん
NGNG0676デフォルトの名無しさん
NGNG...まぁマックと呼ぶかマクドとするかって事だけど
0677デフォルトの名無しさん
NGNG0678デフォルトの名無しさん
NGNGfflushを使う以外にこれの回避方法ってありますか?
getsとかfgetsでも、配列の大きさ異常のは次回に回されちゃうし
0679デフォルトの名無しさん
NGNGttp://www.webholodeck.com/curiosities/abbr.htm#T
0680デフォルトの名無しさん
NGNG引っかかったのが全部が全部そうではないにしろ。
0681デフォルトの名無しさん
NGNG0682デフォルトの名無しさん
NGNG"tnx thanx" AltaVista found 10 results
0683デフォルトの名無しさん
NGNGアフォはやめといたほうがいい
0684デフォルトの名無しさん
NGNG>fflush
プ
PS. TREBOR THX
0685デフォルトの名無しさん
NGNG英語圏の人は ty (= thank you)。
0686デフォルトの名無しさん
NGNGこのヒヒジジイ
0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNG0689デフォルトの名無しさん
NGNG静的メモリーと動的メモリーを保持しており
一次元ポインターは動的メモリーと静的メモリーを
配列としてではなく、まったく個々に指し示し
片方は文字リテラル、片方はソート情報として
リストの亜種を作りたい。文字で、並列処理を
行う理由はchar型が一バイトであるからであると
いう理由だけである。ここまできて、char型一文字を
整数に直す方法がわかりません。
0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNGchar str1[5]={'A','B','C','D','\0'};
char str2[5]={'Z','I','J','\0'};
int **str3;
int **str4;
char **str5;
char *temp1;
char *t;
int *num;
int n1,n2;
int i,j;
t=malloc(sizeof(char));
str4=(int**)malloc(sizeof(int*)*10);
for(i=0;i<10;i++)
str4[i]=(int*)malloc(sizeof(int));
for(i=0;i<10;i++)
for(j=0;j<10;j++){
str4[i][j]=i*10+j;
}
for(i=0;i<10;i++){
putchar('\n');
for(j=0;j<10;j++){
printf("%3d",str4[i][j]);
}
}
str3=(int**)malloc(sizeof(int*));
for(i=0;i<10;i++)
str3[i]=(int*)malloc(sizeof(int));
for(i=0;i<10;i++)
str3[i]=(int*)i;
putchar('\n');
0692デフォルトの名無しさん
NGNG*str5=(char *)malloc(sizeof(char));
for(i=0;i<10;i++)
str5[i]=(char *)malloc(sizeof(char **));/*48固定調を指し示すポインター*/
num=(int *)malloc(sizeof(int)*10);
temp6=(char *)malloc(sizeof(char *));
/*temp1=str5;は0x431950*/
/*temp2=str5[0];0x4318f0*/
temp1=malloc(sizeof(char )*10);
strcpy(&str5[0],"8");/*YZa*/
strcpy(&str5[1],"5");/*PQR*/
strcpy(&str5[2],"6");/*STU*/
strcpy(&str5[3],"2");/*GHI*/
strcpy(&str5[4],"1");/*DEF*/
strcpy(&str5[5],"4");/*NLO*/
strcpy(&str5[6],"7");/*VWX*/
strcpy(&str5[7],"3");/*JKM*/
strcpy(&str5[8],"0");/*ABC*/
strcpy(&str5[9],"9");/*bcd*/
0693デフォルトの名無しさん
NGNGtemp1[i]=str5[i];
}
/*temp1[i]=&str5[0][i]に若干の差異*/
/*temp[i]=&str5[i];にすると...個々の異なったこんな文字表示される*/
str5[0]="YZa";
str5[1]="PQR";
str5[2]="STU";
str5[3]="GHI";
str5[4]="DEF";
str5[5]="NLO";
str5[6]="VWX";
str5[7]="JKM";
str5[8]="ABC";
str5[9]="abc";
0694デフォルトの名無しさん
NGNGprintf("\n%c",temp1[i]);
printf("\n%s",str5[i]);
}
n1=1;
n2=1;
for(i=0;i<9;i++){
for(j=9;j>i;j--){
if(temp1[j-1]>temp1[j]){
*t=temp1[j-1];temp1[j-1]=temp1[j];temp1[j]=*t;
n1=0;
}
else if(n1==0 || n2==0)
n2=1;
if(n1==0){
if(n2==1){
n2=0;
/*イメージ的には、num=atoi(&str5[j]);とします
まとまった。整数が求まりません。*/
}
}
}
n1=1;
n2=1;
printf("%s",str5[num]);
}
for(i=0;i<10;i++)
printf("%c",temp1[i]);
return 0;
}
0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNG0700700
NGNG0701デフォルトの名無しさん
NGNG君はプログラマに向いてないと思うよ。
アパレル関係への就職・転職をお勧めするよ。
0702デフォルトの名無しさん
NGNGポインターもポインターの配列もなにも理解していない・・・
0703デフォルトの名無しさん
NGNG0704デフォルトの名無しさん
NGNG基本的なところを間違っているのでダメだと思うな・・・
0705デフォルトの名無しさん
NGNGというのを見たことがあるのですが、真意はどうなのでしょうか?
たとえば、if (number < 10) と書くのではなく if (10 > number) という具合。
0706デフォルトの名無しさん
NGNG=の場合をいってるんじゃないの?
比較(==)と代入(=)を間違えた時のために
まぁ今どきのコンパイラなら警告だすけど
0707デフォルトの名無しさん
NGNG0708デフォルトの名無しさん
NGNGその作戦に依存すると、変数同士の比較のときに結局ハマる。
コンパイラに警告ださせ、その警告がでないように直すほうが安全
0709デフォルトの名無しさん
NGNGその作戦に依存すると、警告ださないコンパイラのときに結局ハマる。
自分がしっかりせにゃならんプロ用の言語ってとこを認識することが最優先。
0710デフォルトの名無しさん
NGNG出せないコンパイラなんて今どきないと思うけど(笑)
0711デフォルトの名無しさん
NGNGそういうコンパイラを使うときはlintも併せて使うがよろし
ニンゲン誰だってミスがあるさ…(まさか、この漏れが=と==を間違えるなんて…)
0713>>698
NGNG狂ったソースですいません。
自分の思いを思いっきりぶつけて見たんですが。
0714デフォルトの名無しさん
NGNGif ( (a-b) == 0 ) とか
if ( (a+0) == b ) とかみたいに無理やり左辺を式にするとか自衛するしかないんかな。
まあ漏れはどうせ無縁だからいいけど
0715>>698
NGNGとりやえずこれどう思います
str5=(char **)malloc(sizeof(char *)*10);/*-4*/
*str5=(char *)malloc(sizeof(char));
for(i=0;i<10;i++)
str5[i]=(char *)malloc(sizeof(char **));/*48固定調を指し示すポインター*/
0716デフォルトの名無しさん
NGNGそんなときこそ、正規表現検索ですよ。
0717デフォルトの名無しさん
NGNGだからどうして自分にヤキ入れるという正道をさておいてそういう邪道ばっかり追求するかね
0718デフォルトの名無しさん
NGNGいや、予防措置の話だし。安全措置なしで綱渡りするのが好きな人はいいけど
(たしかに昔のCはそういうスタイルだった)
ANSI Cからはそうじゃないしな。
0719デフォルトの名無しさん
NGNG「48固定調」という言葉の意味がわからん
0720>>698
NGNG正確に言えば、文字リテラルをさします。
0721デフォルトの名無しさん
NGNGANSIのどこかに警告を出すような義務規定でもあるのか? それは何ページだ?
0722デフォルトの名無しさん
NGNGANSI Cに定義されているということではなく(未確認)、
ANSI C対応以後のコンパイラの流れね。
古いやり方の人も許容する選択肢があるのがCではあるけど
自動化できる部分はしたほうが合理的だしなあ。
0723>>698
NGNG英語力がないとか
考えすぎて頭痛い
0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNG強情な人だなあ ( -_-)=3
あなたが自動化すべきといくら主張しても
そうなってない環境はあるわけじゃん
コンパイラの好みはあっていいけど
どこの世界ともわからない人へのアドバイスとして
言うことじゃねえべよ
0726デフォルトの名無しさん
NGNGぱっと見て、こんだけ長いんだから、関数に分割しろ。
設計からやり直しだ。
0727>>698
NGNG*str5=(char *)malloc(sizeof(char));
for(i=0;i<10;i++)
str5[i]=(char *)malloc(sizeof(char **));病的メモリーを表す
自分の中で、何らかの誤解があるかもしれないから
その辺も踏まえてゆっくり解きほぐしていこう。
静的メモリーは*str5をさし、*str5は動的メモリーをさす
0728デフォルトの名無しさん
NGNG0729デフォルトの名無しさん
NGNGその表現は本当にあっているのか? 言葉がおかしいと伝わらないぞ。
見たところ、str5こそが、何かを指し示すものではないのか?
「メモリーがポインタをさす」なんていう表現は、異常な表現だ。
「ポインタがメモリ(番地)」を指し示すんだぞ? 分かるよな?
0730デフォルトの名無しさん
NGNGCなのにそういうツールを導入する手段がない環境があるのね。なんか興味あるなあ。
組み込みのセルフコンパイルかなんか?
0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNG0733デフォルトの名無しさん
NGNGそんなの俺に聞かなくたってここの教えて君にでも聞いてみたら?
普段ぐぐってから来いとか言ってたのを逆襲されそうだけど
0734デフォルトの名無しさん
NGNGchar name[20];
char tel[20];
struct __node *pointer;
}Node;
Node *p;
int main(void){
Node *p,*head;
head=NULL;
while(p=talloc(),scanf("%s %s",p->name,p->tel)!=EOF){
p->pointer=head;
head=p;
}
p=head;
while(p!=){
printf("%s %s",p->name,p->tel);
p=p->pointer;
}
}
talloc()略
0735デフォルトの名無しさん
NGNGNode **pointerだけで、書く場合どのようにすればいいか
0736デフォルトの名無しさん
NGNG0737デフォルトの名無しさん
NGNG0738デフォルトの名無しさん
NGNG0739デフォルトの名無しさん
NGNG0740デフォルトの名無しさん
NGNG0741デフォルトの名無しさん
NGNG空白あけろよぼけ
0742デフォルトの名無しさん
NGNG> というのを見たことがあるのですが、真意はどうなのでしょうか?
それは20年ぐらい前に1度ちょっとだけ流行って、あっというまに廃れたやつです。
最初に流行らせようとしたひとは「そうすれば間違えて=を1個だけ書いたときに
エラーになって便利でしょ?」というのが言いたかったのだが、
「じゃあ、おめー、両方変数だったらどうするんだ?」とか
「!=や<=のときいみめーだろ」といわれて、さんざんだったわけです。
ところがそれから10年ぐらいたって、どこかでそれを聞きかじった三田某が
うれしそーにじまんしたんだな。(つまり彼はその意味も、ダメな意味も理解して
いなかったわけ)。
たぶん、いまだにそんな記述を見かけるとした、その2回め(日本での)のを見たぼけが
書いたんだろうなあ。あたまわるすぎ。
0743デフォルトの名無しさん
NGNGっていうか「実際、予防効果なんかない」ってことで廃れたんだよ。
0744デフォルトの名無しさん
NGNG何の利点もない。
0745デフォルトの名無しさん
NGNG> 「!=や<=のときいみめーだろ」
> いまだにそんな記述を見かけるとした、
> あたまわるすぎ。
日本語も満足に書けない割に、偉そうだな。
0746デフォルトの名無しさん
NGNGおまえだれにものいってるつもりだ?
0747デフォルトの名無しさん
NGNG仮にその環境に警告を出してくれるコンパイラが無かったとする、
仮にクロスコンパイラも無かったとする。それでも、
何でコードを書く環境とコンパイルする環境が同じであると言う勝手な大前提を持ち出すのですか?
もしかしてコードを持っていく手段が無いの?それはそれですごいけどな(笑
0748デフォルトの名無しさん
NGNGお前も偉そうだな。
0749デフォルトの名無しさん
NGNG例えばーなんですが
if(i==0){
kansuu(void);
}
って感じでは出来ないのですが。。。
0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNGできないはずがない。
0752デフォルトの名無しさん
NGNG「エラーE2188 式の構文エラー」
と出るんです。。_| ̄|○ナンテダロ゙…
0753デフォルトの名無しさん
NGNG呼ぶときにはvoidって書いちゃ駄目。
kansuu();と書く。
0754751
NGNGvoidはいらないよ。
0755デフォルトの名無しさん
NGNGオォ、本当だ!なんで書いちゃ駄目なんだろう(´・ω・`)まあそれはおいおい知ってゆくとして…
ありがとうございます。・:゚(゚´Д`゚)゜:・。
0756デフォルトの名無しさん
NGNG「日本語も満足に書けない」キミに言ってるんだけど、書けないだけじゃなくて理解もできないのか ?
>>748
お前と同じぐらいにな。
>>749
とりあえず、
kansuu(void); ⇒ kansuu();
にしとけ。
0757デフォルトの名無しさん
NGNG空白を入れるなよぼけ
0758デフォルトの名無しさん
NGNGリークしてる。
0759デフォルトの名無しさん
NGNGは?
0760デフォルトの名無しさん
NGNG>if(i==0){
>kansuu(void);
>}
if(i == 0) {
kansuu ();
}
空白開けろよぼけ。
0761デフォルトの名無しさん
NGNG>なんで書いちゃ駄目なんだろう
では聞くが、int func(int num);
を使う時に藻前は
func(int num);
とするのか?
0762デフォルトの名無しさん
NGNG関数は空白あけるなよぼけ。
kansuu (); ×
kansuu(); ○
0763デフォルトの名無しさん
NGNGあなたはどうしても、あなた好みのコンパイラを万人に使わせたいわけ?
それこそが身勝手な押し付けでしょうが
仕事の環境は個人的に気に入らないからって
責任範囲も定かでないものをインスコしたり私物を持込んだりは
なかなか勝手にやるわけにはいかないよ
何か要求するにしても同じ環境で黙って仕事できる人とできない人がいたとき
必ずしも口数が多い人が評価されるってものでもない
0764デフォルトの名無しさん
NGNG予約語の後は空白あけろよぼけ。
if(i == 0) ×
if (i == 0) ○
0765デフォルトの名無しさん
NGNG一般論を強制と受け取るのは過剰反応では?
0766デフォルトの名無しさん
NGNGおまいはコンパイラとIDEとエディタの違いを理解してから発言したほうがいい
0767デフォルトの名無しさん
NGNG空白あけろよ ぼけ
0768デフォルトの名無しさん
NGNGif (0 == a) と書くことの理由にならないんだってば。
0769デフォルトの名無しさん
NGNG0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNGif()に空白開けるなぼけ。
ディスクのむだだろぼけ。
0772デフォルトの名無しさん
NGNG0773デフォルトの名無しさん
NGNG0775774
NGNG0776デフォルトの名無しさん
NGNGreturnとかsizeofとか括弧を書かなくていい物は
括弧を書くときでも空けるけど、それ以外のキーワードや、
関数などに対しては空けないという事では?
0777デフォルトの名無しさん
NGNGでも、returnはいいけど、sizeofはいちいち括弧を書かなきゃいけない場合と、
書かなくてもいい場合を使い分けているんだろーか。
0778デフォルトの名無しさん
NGNG普通に使い分けるけど。
型なら括弧必要、値なら不要ってだけじゃん。
0779デフォルトの名無しさん
NGNGどういう方法があるのでしょうか?
0780デフォルトの名無しさん
NGNGいや、使い分けている人見たことほとんど無かったんで。
0781デフォルトの名無しさん
NGNG0782デフォルトの名無しさん
NGNG「型なら括弧」という簡単なルールを知ってれば迷うことはないよな。
書いているのが型なのか値なのか自分で迷うことはまず考えられないし。
0783デフォルトの名無しさん
NGNG関数やseizeofは空けない。
それぐらいおぼえとけ ぼけ
0784デフォルトの名無しさん
NGNGreturnにはいつでも「つけない」
sizeofには不要な場合でもいつも「つける」
が正解。
0785デフォルトの名無しさん
NGNG0786デフォルトの名無しさん
NGNG(1) 配列の要素数を調べるのには「使わない」
(2) 変数や構造体のサイズを調べるときには、変数名じゃなく型名をいつも使う
という方法です。おぼえておきなさい。
0787デフォルトの名無しさん
NGNG詳細キボンヌ。
0788デフォルトの名無しさん
NGNGstruct hoge_t {
int a;
};
long a = 0;
struct hoge_t *b;
b = (struct hoge_t *)a;
ってやったら
warning C4312: '型キャスト' : 'long' からより大きいサイズの ':hoge_t *' へ変換します。
ってワーニングが出ます。
大きさは一緒じゃないんですか?
ちなみにsizeofで struct hoge_t * と long の大きさを出力してみたら同じ4でした。
ちなみに、
b = (struct hoge_t *)&a;
なら警告は出ません。なぜでしょう・・・?
0789デフォルトの名無しさん
NGNGいったい「わーにんぐ」って何だよ! ぼけ! ぼけ!
でなおしてこい
0790デフォルトの名無しさん
NGNGやりたいならunionにしろ
0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNGじゃあ、int から unisigned intに代入してみろよ
0793デフォルトの名無しさん
NGNG(1)友達が全然いない
か
(2)まわりがぼけばかり
かどっちかだな。
0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNG恐らく64bit環境がどうのこうのっていうオプションをONにしてないか?
sizeof(struct hoge_t *)とsizeof(long)の大きさが未来永劫同じであると言う保証が無いってことだろう。
0796デフォルトの名無しさん
NGNG0797デフォルトの名無しさん
NGNG> なら警告は出ません。なぜでしょう・・・?
でるわけねーだろぼけ。左辺も右辺もポインターじゃん
0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNG空白うんぬんを説くまえにあんたの「常識」
というものについてまず考えたほうがよくないか?
0800デフォルトの名無しさん
NGNGいえ、そういうことですよ。intもunisigned intもサイズは4バイトですから。
0801デフォルトの名無しさん
NGNG'型キャスト'だろが。"型"だよ"か・た"
0802デフォルトの名無しさん
NGNG多数いらっしゃるようです。
0803デフォルトの名無しさん
NGNGC++でいうreinterpret_castだろ
0804デフォルトの名無しさん
NGNG0805デフォルトの名無しさん
NGNG逆だが
0806デフォルトの名無しさん
NGNGunisigned intは型ですよ
0807デフォルトの名無しさん
NGNG演算子も文法上のものですよ ;-)
0808デフォルトの名無しさん
NGNG0809デフォルトの名無しさん
NGNG0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNG0813デフォルトの名無しさん
NGNG俺もそう思う
演算子とステートメントの区別がついてない人大杉
式と型名の区別がついてない人大杉
もともと違うものを同一視したがる妄想癖がある人大杉
0814デフォルトの名無しさん
NGNG0815デフォルトの名無しさん
NGNGヒキのお前には分からんか
0816デフォルトの名無しさん
NGNG0817デフォルトの名無しさん
NGNG0818デフォルトの名無しさん
NGNG> seizeof
おまえらぼけはもうこのスレにくるな
0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNGあのー、カッコはステイトメントじゃないですよ ;)
0822デフォルトの名無しさん
NGNG知ったかぶりしたかったんだろう。わかってやれよ
0823デフォルトの名無しさん
NGNGお前らはいったい何をやってるんだよ恥を知れよまったく
0824デフォルトの名無しさん
NGNG2chだろ
0825デフォルトの名無しさん
NGNGhttp://www.nytimes.com/2004/05/09/international/asia/09toky.html?ex=1399435200&en=c8bb27cc740761e0&ei=5007&partner=USERLAN
0826デフォルトの名無しさん
NGNGそんなコンパイラーはありません。
0827デフォルトの名無しさん
NGNG0828デフォルトの名無しさん
NGNG○コンパイラ
0829デフォルトの名無しさん
NGNG0830デフォルトの名無しさん
NGNG32ビット版のgccでのクラス関数を示すアドレスのサイズは64bitです。
無知を晒すのはやめましょう。
0831デフォルトの名無しさん
NGNGまあ例えばキミのように作用対象を読み違えやすい人が自衛策のつもりでしていることが
実は周囲の人々にとっては善意的に見ても滑稽だし、そういう行動の根底にあるやる気のなさや
責任のなすり合いだけは率先するタイプってとこが見え隠れし失望するわけだ
0832デフォルトの名無しさん
NGNG0833デフォルトの名無しさん
NGNGクラス関数とか言ってる時点で、あんたも五十歩百歩だよ
しかもここはCスレ 痴性を晒すのはやめましょう
0834デフォルトの名無しさん
NGNGスレ違いスマソ
0835デフォルトの名無しさん
NGNGクロスコンパイラではざらにあるよな
0836デフォルトの名無しさん
NGNGあるよな
0837デフォルトの名無しさん
NGNGVCの場合は32ビットだから、必然性があるわけではない。
知ったかするために、のこのこ出てこなくてもいいぞ。
0838デフォルトの名無しさん
NGNGバス幅とは何の関係もないよ
推薦図書
↓
C++オブジェクトモデル
内部メカニズムの詳細
著者 : S.B.リップマン
訳 : 三橋二彩子/佐治信之/原田曄
発行 : アジソンウェスレイ・トッパン
定価 : 3、400円
ISBN : 4-8101-8101-4
0839デフォルトの名無しさん
NGNGgccは64ビットだが、VCの場合はメンバ関数のサイズは32ビット。
処理系依存の話を、汎用的な問題と勘違いするな。
0841デフォルトの名無しさん
NGNG0842デフォルトの名無しさん
NGNGVCには最適化のオプションにメンバ関数へのポインタをどう扱うかって項目があるのはもちろん知ってるよな?
0843デフォルトの名無しさん
NGNG0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNG>メンバ関数へのポインタをどう扱うかって項目
そんな項目など無い。
0846デフォルトの名無しさん
NGNG0847デフォルトの名無しさん
NGNG処理系依存のコードをいかにスマートに書くかってテーマを持っていない
例えばあんたのような世間知らずが多いってことだ
0848デフォルトの名無しさん
NGNGそうではなく「32bitコンパイラー」なるものは存在しないのだということだ。
たとえば、あるコンパイラーをもってきて「これは何bitのコンパイラー」だと言えるか? ;)
intのサイズが36bit、ポインターは24bit、charは9bitで処理するCコンパイラーは
何ビットだ? ;-)
shortもlongも32bitなのに、intだけ16bitのコンパイラーは何bitコンパイラーだ?
ほら、存在しないだろ? > 32ビットコンパイラー
0849デフォルトの名無しさん
NGNGどういう選択肢があるんですか?
0850デフォルトの名無しさん
NGNGスレ違い
こちらへどうぞ
http://pc5.2ch.net/test/read.cgi/tech/1083585833/
0851デフォルトの名無しさん
NGNG0852デフォルトの名無しさん
NGNGたしかにそんな用語は存在しない。
0853デフォルトの名無しさん
NGNG0854デフォルトの名無しさん
NGNG>shortもlongも32bitなのに、intだけ16bitのコンパイラー
今時ANSIも知らないようなCコンパイラは氏ね。
0855デフォルトの名無しさん
NGNGこんなの実在するのか?
0856デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
NGNG受信料ちゃんと払えよ
0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNGこんなの実在するのか
実際使っていました。
0861デフォルトの名無しさん
NGNG0862デフォルトの名無しさん
NGNG> 今時ANSIも知らないようなCコンパイラは氏ね。
っていうか、むしろ「いまどきANSIだなんて」;-)
実際問題、その実装で、現在の標準規格や89年のANSIに十分適合してるでしょ?
何か問題でも?
0863デフォルトの名無しさん
NGNG0864デフォルトの名無しさん
NGNGたとえばどんなのですか? googleしてもみつからなかったのですが...。
どなたか情報がありましたらURLだけでも教えてください.
で、それって標準規格的には問題なんですよね?
0865デフォルトの名無しさん
NGNG空白あけろよぼけ
0866デフォルトの名無しさん
NGNG0867デフォルトの名無しさん
NGNG「ね」と「?」の間に。
0868デフォルトの名無しさん
NGNG適合してませんが何か?
long>=16bit>int>=short>8bit
0869デフォルトの名無しさん
NGNGぜんぜんおもしろくない。
帰っていいよ。
0870デフォルトの名無しさん
NGNGいや帰る必要もないよ。氏ね。
0871デフォルトの名無しさん
NGNGstruct afo { int sine; } ;
main()
{
struct afo voke;
int *gaikichi;
printf("%u", sizeof voke);
gaikichi = &voke.sine;
printf(" %u", sizeof gaikichi);
}
こんくらいやってみたか?
int struct afo::*teinou;
teinou = &afo::sine;
はスレ違いだからC++スレ池
0872デフォルトの名無しさん
NGNGどうかお知恵をお貸しください。
double Aという変数Aに、キーボードから数値を入力したいので、
while (scanf ("%lf",&A) != 1)
{
printf ("\n入力エラー!");
rewind (stdin);
}
printf ("A = %f",A);
というように書きました。Aにアルファベットなどを入れようとすると
きちんと“入力エラー!”と表示されるのですが、“0.5abc”と入力
すると、“A = 0.5”と表示されます。恐らく実用上は問題ないかも
知れませんが、できれば数値以外を入れるとエラーの表示が返って
くるような方法はないでしょうか?
0873デフォルトの名無しさん
NGNGあなたはこのスレをあまり見たことがないのでしょうね
scanfは延々と論議がなされています。過去ログ見ましょう。
0874デフォルトの名無しさん
NGNGそういう関数を作んなさい
既存のもので要求を満たせないことこそ開発の動機であり
Cの本来の役割
0875デフォルトの名無しさん
NGNGint main(int argc, char *argv[])
{
char *p;
p = argv[1];
while(*p) {
printf("%c", (*p)+1);
p++;
}
return 0;
}
引数で入力された文字列に1を加えて出力するプログラムなんですが、
どうもポインタの部分がしっくりきません。
p = argv[1];
の部分なんですが、普通はpに代入するのはアドレスのはずですよね。
でもargv[1]は、引数で代入された文字だと思うんです。
だから
*p = argv[1];
だろうと思ったんですが、これだとエラーが出てしまいました。どこを勘違いしているんでしょうか?
0876デフォルトの名無しさん
NGNGargv[1]はポインタだ。
0877デフォルトの名無しさん
NGNG0878デフォルトの名無しさん
NGNGargv[1]はその1番目の要素。
0879デフォルトの名無しさん
NGNG配列ぅ? んじゃargv++はエラーだなw
0880875
NGNGってことは、while(*p) の部分は多重間接参照とやらを利用してるってことですね?
「ポインタであるargv[1]のポインタが存在するかどうか」という認識でいいんでしょうか。
0881デフォルトの名無しさん
NGNGCに文字列を文字列として扱う手段はない。char型へのポインタかchar型の配列かで扱うしかない。
引数で代入された文字列は結局char型へのポインタとなっている。
875の例ではchar *argv[]つまりcharへのポインタの配列となっている。
つまりargv[1]みたいに[ ]をつけたら中身はcharへのポインタになる配列と言う意味。
/*875はこの行読むな(実際には関数の仮引数なんでcharへのポインタへのポインタだけどとりあえず無視)*/
p = argv[1];
これは当然charへのポインタの型のpにcharへのポインタの型になるargv[1]を代入しているんだから無問題。
0882デフォルトの名無しさん
NGNG0883デフォルトの名無しさん
NGNG>>874
確かにwebで調べると、scanfは初心者には便利な関数だけど、一般的には
あまり使われず、他の関数を組み合わせて代用する方がいいとの記述は目に
していました。やはり、自分の要望にあった関数を別途作成した方がいいよう
ですね。まずは、その関数を作ることからはじめたいと思います。
助言いただき、ありがとうございました。
0884デフォルトの名無しさん
NGNGdouble avg(double *kaz);
int main(void)
{
double num[]={1.2, 3.4, 5.6, 7.8, 9.0};
printf("%lf",avg(num));;
return 0;
}
double avg(double *kaz)
{
double tmp=0;
int a=0;
while(*kaz){
tmp=tmp+kaz[a];
a++;
}
return tmp/5;
}
配列を使って浮動小数点数の平均値を求めるプログラムを作ってみたんですが、
コンパイルはできてもエラーが出て実行できません。
どこがいけないんでしょう?
0885デフォルトの名無しさん
NGNGループの終了条件
0886デフォルトの名無しさん
NGNGつまり、条件はwhile(num[0]){}。
いつまで経っても終わらないのは分かるよな?
あと、文字列は\0でターミネイトされるけど、
普通の配列は終端になにかキャラクタがつくことも無いし、
サイズ情報も通常の手段でユーザーから見える場所に保存される事はない。
0887デフォルトの名無しさん
NGNG>int a=0;
>while(*kaz){
>tmp=tmp+kaz[a];
>a++;
>}
int a;
for(a=0; a<5; ++a) tmp=tmp+kaz[a];
0888888
NGNG0889デフォルトの名無しさん
NGNGそんな規定には、89年のANSIのときにも、
現在の標準規格にもありませんよ。
また知ったかぶり君だな ;-)
0890デフォルトの名無しさん
NGNGだーかーらー
scanf使うなって、何回言ったらわかるんだよ! おめーは
0891デフォルトの名無しさん
NGNGくーはくあ か ろ! よ ぼ け!
何回言ったらわかるんだよ! おめーは
0892デフォルトの名無しさん
NGNGsee limits.h
0893デフォルトの名無しさん
NGNG> rewind (stdin);
くーはく あ け る な よ! ぼけ
何回言ったらわかるんだよ おめーは!
あのなー、空けるなっていうところにあけて、
あけろっていうところにわざわざあけず、
わざとかよ てめーは!
0894892
NGNG0895デフォルトの名無しさん
NGNG>
> while(*p) {
> printf("%c", (*p)+1);
> p++;
> }
なんでforにしねーんだよ てめーは!
0896デフォルトの名無しさん
NGNG>何か問題でも?
オイオイ short<=int<=long でなきゃダメダロ
0897デフォルトの名無しさん
NGNGlimits.hには「その実装でどうなってるか」の最大・最小値等が規定されているにすぎない。
そんなこともしらねーでえらそうにでてくるなよ ぼけ
でなおしてこい!
0898デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNG規格書読めよ。そんな規定はどこにもねーだろ ぼけ
0900デフォルトの名無しさん
NGNGいえ、mainはintですよ。
mainをvoidにしたがるやつは厨
0901デフォルトの名無しさん
NGNGおめー、このセミコロンは何のつもりだよ!
カンマの後ろに空白あいてないだろ!
0902デフォルトの名無しさん
NGNG0903デフォルトの名無しさん
NGNGくーはくあけろ ぼけ
それに「5」とかマジックナンバー書くな。
sizeofにするか#defineにしろ
0904デフォルトの名無しさん
NGNG0905デフォルトの名無しさん
NGNGこの文脈では使えませーん。ばーか
0906デフォルトの名無しさん
NGNGdouble avg(double *);
int main()
{
double num[MAX] = {1.2, 3.4, 5.6, 7.8, 9.0};
printf("%lf\n", avg(num));
return 0;
}
double avg(double *n)
{
double total;
int i;
total = 0.0;
for (i = 0; i < MAX; i++)
total += n[i];
return total / MAX;
}
これでいいんだろ?
0907デフォルトの名無しさん
NGNG0908デフォルトの名無しさん
NGNG使えるだろ このとーしろめ
0909デフォルトの名無しさん
NGNGまぁもれなら配列の要素数をavg()のパラメータに追加するが
0910デフォルトの名無しさん
NGNG{
double num[MAX] = {1.2, 3.4, 5.6, 7.8, 9.0};
double total;
int i;
total = 0.0;
for (i = 0; i < sizeof(num); i++)
total += num[i];
printf("%lf\n", total / sizeof(num));
}
たしかに、こりゃ関数にわける意味なかったもんな(わけたほうがよけいによみにくい)
0911デフォルトの名無しさん
NGNGshortとintは少なくとも16ビット、longは少なくとも32ビット、short
はintより長くてはならず、intはlongより長くてはいけないということである。
と書いてあった。
long>=32bit>=int>=short>=16bit
かつ
long>short
って言う事かな。
反論があるなら、規格でデータサイズについて言及されてるところの引用よろしく。
0912デフォルトの名無しさん
NGNGじゃあ読んでから言えよ ぼけ
0913デフォルトの名無しさん
NGNG>long>short
これは要らなかったな。
0914デフォルトの名無しさん
NGNGだから、引用してくれよ。K&R 2ndは一応信用に足るソースだろ?
規格で違う事が書かれてるなら、そこを引用してくれよ。
0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNG(中略)
> short はintより長くてはならず、intはlongより長くてはいけないということである。
そんなことかいてねーだろ ぼけ。ちゃんと読んでないか、誤訳してある本を読んでるか
どちらかでは? ほんとにK&Rもってるのか? 石田晴久のにせもののほうじゃねーよな?
0917デフォルトの名無しさん
NGNGとかえらそうに言うやつに限って持ってないんだよな。
日本語でかかれたぱちもんだったり ;-)
0918デフォルトの名無しさん
NGNG> 32bit>=int
こりゃいくらなんでもまちがいあろ
おれみたいなしろーとでもわかるぞ
0919デフォルトの名無しさん
NGNGああ俺の持ってるこれは偽者だったか、すまんかった。
一応P44 2.2 データ型とサイズのところに書いてあるんだけどな。
0920デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNGうん、そこはバグだな。
修正しといてくれ。
0922デフォルトの名無しさん
NGNGK&RのP44にはそんなことかいてねーぞ
0923デフォルトの名無しさん
NGNGなんでもvoidに見えてしまうこわがりすぎー君
0924デフォルトの名無しさん
NGNGvoid main(void argc, void **argv)
{
void i, j;
...
0925デフォルトの名無しさん
NGNGだから、俺の偽者K&R 2nd訳書のP44に書いてあるんだよ。
0926デフォルトの名無しさん
NGNGそっちのvoidじゃねーだろ
0927デフォルトの名無しさん
NGNGKusakabe & Reiko ですか?
0928デフォルトの名無しさん
NGNG5.2.4.2.1 整数型の大きさ <limits.h> 次に列挙する値は
(中略)
これらの処理系定義の値は,それぞれの項目の右に示してある値と
同じ符号をもち、その値以上の大きさ (絶対値) をもたなければならない。
− 型 short int のオブジェクトにおける最小値
SHRT_MIN -32767 // -(2^15-1)
− 型 short int のオブジェクトにおける最大値
SHRT_MIN +32767 // 2^15-1
− 型 int のオブジェクトにおける最小値
SHRT_MIN -32767 // -(2^15-1)
− 型 int のオブジェクトにおける最大値
SHRT_MIN +32767 // 2^15-1
− 型 long int のオブジェクトにおける最小値
SHRT_MIN -2147483647 // -(2^31-1)
− 型 long int のオブジェクトにおける最大値
SHRT_MIN +2147483647 // 2^31-1
0929928
NGNG上から
SHRT_MIN
SHRT_MAX
INT_MIN
INT_MAX
LONG_MIN
LONG_MAX
0930デフォルトの名無しさん
NGNGバーカ
0931デフォルトの名無しさん
NGNGそこに書いてあることは今回関係ねーだろ
shortは16bit以上
longは16bit以上
longは32bit以上
って書いてあるにすぎないんだから、両方の言っていることとくいちがってはいなんだし
少しは論点考えろよ ぼけ
0932デフォルトの名無しさん
NGNG0933デフォルトの名無しさん
NGNG0934デフォルトの名無しさん
NGNG0935デフォルトの名無しさん
NGNGError: あなたのはちがいます。
0936デフォルトの名無しさん
NGNG偽物うんぬんいってやつは持ってるんだろ?
どこいったんだ? 逃げたのか?
0937デフォルトの名無しさん
NGNG0938デフォルトの名無しさん
NGNG0939デフォルトの名無しさん
NGNGおれでさえがもってるぞ!
あ、会社においてるから、ここにはないけど。
0940デフォルトの名無しさん
NGNGK&Rぐらいが怖くて読めないやつが、規格書読めるわけねーだろ
なのになんで規格うんぬんの知ったか論議してるんだよおめーら
0941デフォルトの名無しさん
NGNG0942デフォルトの名無しさん
NGNG0943デフォルトの名無しさん
NGNG>>916のことか>>919のことかはっきりしてくれ。
どっちも上げてるから916=936なのか判断できん。
0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNGBrian and Dennis のことだと思われ
0946デフォルトの名無しさん
NGNG6.3.1.1 算術オペランド - 論理型,文字型及び整数型
6.3.1.8 「通常の算術型変換
0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNG0949デフォルトの名無しさん
NGNGしかたねーだろ
「作ってわかるCプログラミング」ぐらいの入門書でもコワイ人たちですから。
K&Rなんて怖くて読めないのが当然!
0950デフォルトの名無しさん
NGNG(いま使っているのがそれ)
そのかわりlong long intも64bitしかないのが難点!
0951デフォルトの名無しさん
NGNG会社でCのコンパイラーを作っているのですが、
(C++コンパイラーでもあるんですが、わたしの担当はパーサーなので)、
営業サイドから、JIS X 0208の1区1点の空白(いわゆる全角空白)も、
ふつうに使えるようにしてくれという要求があって、
それは1か月かけて退けたのですが、
(あ、もちろん、" "の中やコメント中ではもともと使えますよ!、int a;のtとaの間とか、
インデントとかそう言う箇所の話です)、
こんどは、バックスラッシュnとかのところに「円記号も使えるようにしてくれ」と
いう要求が来ました!!!!
(あ、言い忘れましたが、そのコンパイラーはUTF-8でソース書けるんです)
どうやってこの要求を粉砕したらいいでしょうか?
ご助言をお願いします。
0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNG>shortはintより長くてはならず、
>intはlongより長くてはいけない
K&R以外にも見かけるが、
元ネタは...
0955デフォルトの名無しさん
NGNG肝心なところで言い淀むな
0956デフォルトの名無しさん
NGNG//例えば、
#define pow_ab pow(a,b)
double c = pow_ab * 2.0;
//↑この行で pow 関数が呼ばれずに定数が入るようにしたい
0957デフォルトの名無しさん
NGNG0958デフォルトの名無しさん
NGNG空白あけるなよ ぼけ
0959956
NGNGpow関数が実行時にいっさい呼ばれないようにしたいということです。
0960デフォルトの名無しさん
NGNG空白あけろよぼけ
0962デフォルトの名無しさん
NGNG無理、pow(a,b)の結果をコピペして定数として貼り付けろ。
0964デフォルトの名無しさん
NGNG計算結果をかいておく!
式はコメントに
#define FOO 2.00 // pow(1.41421456, 2)
これで、何か問題でもあるわけ?
使うところではどうせFOOとしかかかんのだろ?
0965デフォルトの名無しさん
NGNG実際にどんな式というか値を書きたかったのか書けよな。
それぐらい書くのが礼儀だろ!
0966956
NGNGゲームなんかで、1秒間にF回ループをまわすようなケースなんですが、
そのなかで1秒あたりN倍になってほしいような計算があるとすると、
ループ1回分の計算は a = a*pow(N,1.0/F) としたいわけです。
で、これを実行する環境では pow を(初期化時にも)実行したくないわけです。
このときの F は後で変更する可能性があるし、
N は他人が変更するので、マクロで済めば…と思ったわけです。
0967デフォルトの名無しさん
NGNGどうしてもというならCだけで完結させずに、Perlなどのスクリプトを使って
設定ファイルからヘッダを生成してやるような形がいいかも。
0968デフォルトの名無しさん
NGNG> そのなかで1秒あたりN倍になってほしいような計算があるとすると、
> ループ1回分の計算は a = a*pow(N,1.0/F) としたいわけです。
だったらdefineで定数じゃなくって、変数にいれろよな
0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNGa *= foo;
の計算で、fooが変数より定数のほうが「速い」と思い込んでいるやつだったりするのか?
doubleでも。
あ、どうしても「1回しか値を設定しない」変数だということを強調して意識したいなら、
cons doubleと宣言すればいいだけ。
コンパイラーによっては、関数内のローカルで宣言しても別の場所に置かれてしまい、
それがコーディング規約からはずれる場合もあるがな。
0971デフォルトの名無しさん
NGNGやさしいC という本で勉強していましたが全体的に浅く感じたので参考書を新たに買いました
それはsine cosine など出てくるのですが、高校でほとんど勉強してない私にはさっぱりです
math.h などは現場でも使ってらっしゃるのでしょうか? 教えてください
よろしくおねがいします
0972デフォルトの名無しさん
NGNGよくわからんが、要するに非標準拡張を作りたくないってことか?
俺、クロスを色々使ってみて思うんだが、規格に盲従するだけが必ずしも善じゃない。
もっとも今回、お宅さんの話を聞いた範囲では独自言語からCへのトランスレータを作れば済むように聞こえるが・・・。
0973デフォルトの名無しさん
NGNGだからその本の名前を書けよ! ぼけ
それ書かなきゃ何の意味もねーだろ
0974デフォルトの名無しさん
NGNG拡張なんだったら規格はすでにはずれているわけだから、
そうではなく、「ださい拡張」はしたくないってことだろ?
規格以上のなにか拡張するなら、スマートなものならつけたしたいが、
ださいものつけるぐらいなら標準規格だけつかえたほうがまだまし
0975デフォルトの名無しさん
NGNG浮動小数点数や三角関数を使うかどうかってことだが、
「現場で使うか」が意味不明だ。
そういうのを使う現場では使うし、使わない現場ではまったくつかわない。
printfさえつかわない現場は多いな。
まあ、場所によるわけだ。
どういう「現場」かを限定せずに質問するのは無意味。
まあ、どんな場所でも絶対使わないのがscanfだ。
そんなのを乗せている本はその時点で失格。
0976デフォルトの名無しさん
NGNGじゃ、ISOの規格票も失格だなw
0977デフォルトの名無しさん
NGNG0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNGま、せいぜい不買運動でもやってろや
0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1084138965/
0983デフォルトの名無しさん
NGNGpow()関数呼べないのならループで計算するとか手はあるだろ
そもそもリアルタイム処理で実数演算が問題になるのなら、
固定小数点にするとか考えた方がよくないか?
0984デフォルトの名無しさん
NGNG0985デフォルトの名無しさん
NGNG↓だと落ちちゃうよ(´・ω・`)ショボーソ
void file_open(FILE *fp);
int main(void){
FILE *fp;
file_open(fp);
fclose(fp);
return 0;
}
void file_open(FILE *fp){
if ((fp = fopen("smpl.txt", "r")) == NULL) {
printf("file open error!!\n");
exit(1);
}
}
0986デフォルトの名無しさん
NGNGvoid file_open(FILE **fp);
int main(void){
FILE *fp;
file_open(&fp);
fclose(fp);
return 0;
}
void file_open(FILE **fp){
if ((*fp = fopen("smpl.txt", "r")) == NULL) {
printf("file open error!!¥n");
exit(1);
}
}
それ以前に、普通に戻り値で返した方が良くないか?
0987デフォルトの名無しさん
NGNGたとえば↑のfile_open()で開いたファイルを他の関数で使う時とかは、
ファイルポインタを引数で渡さないと無理なのかなと思ったんだけど…他にイイやり方あるのかな?
後はグローバル宣言てのしか思いつかない…(つД`)ヘタレでスマソ
0988デフォルトの名無しさん
NGNGそんなときはグローバルでいいと思われ。
それ以前に、キミは、>>986 の最後の1行を見落としてないか?
0989デフォルトの名無しさん
NGNG戻り値使えば問題無いすね、ボケてますた(´・ω・`)ショボーソ
0990デフォルトの名無しさん
NGNG( ´∀`)< ぬるぽ
0991デフォルトの名無しさん
NGNGと ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/ ←>>990
(_フ彡 /
0992デフォルトの名無しさん
NGNG│ セルフサービス .│
└―――┬┬─――┘
││ ./
゛゛'゛'゛ /
/
| \/
\ \
\ノ
ぬるぽはセルフサービスになりました。
使用方法は以下のようになります
∧
< >_∧
= ()二)V`Д´)<ぬるぽ
\ヽ ノ )
ノ(○´ノ ガッ
(_ノ(__)
0993デフォルトの名無しさん
NGNG∧
< >_∧
= ()二)V`Д´)<ぬるぽ
\ヽ ノ )
ノ(○´ノ ガッ
(_ノ(__)
0994デフォルトの名無しさん
NGNG∧
< >_∧
= ()二)V`Д´)<ぬるぽ
\ヽ ノ )
ノ(○´ノ ガッ
(_ノ(__)
0995デフォルトの名無しさん
NGNGプリプロセッサで何もオプションを指定していないと勝手に
円記号からバックスラッシュへ変換するようにしてはどう?
(もちろん文字列中ではやらない)
イメージ的には#define ¥ \ のような感じ
全角スペースもそんな感じで半角化する方法でも対処できたはず
でもプリプロセッサ行きにするとそれはそれで話が面倒になる?
0996デフォルトの名無しさん
NGNG∧
< >_∧
= ()二)V`Д´)<ぬるぽ
\ヽ ノ )
ノ(○´ノ ガッ
(_ノ(__)
0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。