C言語なら俺に聞け(入門編)Part 78
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/02/06(日) 18:33:49★前スレ
C言語なら俺に聞け(入門編)Part 77
http://hibari.2ch.net/test/read.cgi/tech/1295721606/
★過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 146代目
http://hibari.2ch.net/test/read.cgi/tech/1296387672/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
# サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0002デフォルトの名無しさん
2011/02/06(日) 18:42:29,.__y⌒'ー---┐ ,.____ _へ、_、__,.ヘ、___
/ \ , '´ `丶、 r´
} ( 聞 ど l / l _, -―― - ヽ、┌´ ナ丶
f´ ) こ う ヽ n⌒l/ l ,. .´: : : : ハ: : : : :`.ヽ'ヽ ├┬゛ tナ
l ( え も } l |l |n l / : :/ j:/ーヘl: : :|: : : : | }. ノ /
{ ) ん 〉 | { j」_l /:l :/ |:/`}ノ!.:/ { ヽ / /へノ
} ( で { _j /ヘ/: :l ミミ l/} 〈 ノ -‐ァ、、
. ) ! ゲ (: :´メ、_,.メ、|: : | , , ミミ./ :l . }. ┌─┐ (,__
└-、 ソ ,/ ヽ : : : : 丿」: : |、 /`¬ , , |: :| ) ┌┘
ゝ 、_,,,,,,,... -ゝ/ ̄/´,.__.|: : | >-| /_,ノ. : :\__l\ ・
. ,/ / ̄ヽ l!: : :ヽ、l 丶イ |.|ト、:.\: : : : : : : :>-、-、 __,,.、
( ヾ \:_: :\__ ,‐//.| `l:\ ̄ ̄l/
 ̄  ̄ ̄ ̄ヽr―ァ' \: : /、 // }/: : し\
/: :,L,. く ___/::/ \'/ { ヽ┬┐/
/: :/ /: ヾ¬ー'^ヽ ヽ 丶__ _,-、
__/: :/ /: :/ \ {、´ __ _l::::l⌒\
|: : : : / |: : i /:\ ` >'´ \`-´^ヽJ
/: : | ̄ |: : レ /: :// \
0003デフォルトの名無しさん
2011/02/06(日) 18:43:06そんな話は聞いたことないけどしたいならそうすればいいんじゃない?
それより、 i * 10 + 9 + ( i == 9 ) は意図したとおりに動かないね。
920 :デフォルトの名無しさん:2011/02/06(日) 17:34:11
問題ないように思える人はもう一度Cの規格票をよく読むんだ^^
923 :デフォルトの名無しさん:2011/02/06(日) 17:38:32
…というのも不親切なので答えをいうと
i == 9の部分はtrueの時1になることを想定しているけど
(90-100の階級幅だけ11あるので、ここだけ特別処理にしている)
Cの規格上はtrueは0以外の整数であればなんでもいいことになっているので
実装にっては「90-100」のような表示にならない可能性があるってことなのよ^^;
ここは
printf( "%d-%d %d人\n", i * 10, i == 9 ? 100 : i * 10 + 9, cv[ i ] );
のようにすべきでした。
924 :デフォルトの名無しさん:2011/02/06(日) 17:41:11
って、答えを書いているうちに即レスするんじゃない貴様ら^^
ちなみに、この「trueは0以外の整数」というのは
Cではけっこう重要な落とし穴なので初学者は覚えておくといいよ^^
929 :デフォルトの名無しさん:2011/02/06(日) 17:44:46
あれ?そうだっけ?すまんすまん^^ワラ
935 :デフォルトの名無しさん:2011/02/06(日) 17:49:37
こうして人は成長していくのであった^^;
0004デフォルトの名前無しさん
2011/02/06(日) 18:48:59いいか分からないので、教えていただけますか?
0005デフォルトの名無しさん
2011/02/06(日) 18:51:40> どこから
まずはコンパイラを動かす所から。
使ってる OS は Windows?
0006デフォルトの名無しさん
2011/02/06(日) 19:43:00のかな?C言語が一番高速なのは分かっているのだから、Cを使ってツールを
開発したらいいのに。
しばらくして思いついたのですが、これは MS-DOS で VRAM に値を書き込む、というお題ですか?
実際に実行させたい環境を教えてください。それに沿ってお話しできると思います。
0008デフォルトの名無しさん
2011/02/06(日) 19:48:11あなたは結構有益な回答くださるのに、何故このスレで嫌われ気味なのですか?
0009デフォルトの名無しさん
2011/02/06(日) 19:48:130010デフォルトの名無しさん
2011/02/06(日) 19:48:291. もっと開発効率が良い言語が欲しいから
2. もっと安全な言語が欲しいから
3. もっとプラットフォーム依存度が低い言語が欲しいから
4. もっと書いていて気持ちの良い言語が欲しいから
5. just for fun
0011デフォルトの名無しさん
2011/02/06(日) 19:50:24http://hibari.2ch.net/test/read.cgi/tech/1295721606/894
しばらくして思いついたのですが、これは MS-DOS で VRAM に値を書き込む、というお題ですか?
実際に実行させたい環境を教えてください。それに沿ってお話しできると思います。
8 :◆QZaw55cn4c :2011/02/06(日) 19:48:11
>>7
あなたは結構有益な回答くださるのに、何故このスレで嫌われ気味なのですか?
基本的なスタンスが「あらし」ですからねえ。
0013デフォルトの名無しさん
2011/02/06(日) 19:52:45消えろよ糞
0014デフォルトの名無しさん
2011/02/06(日) 19:53:39http://hibari.2ch.net/test/read.cgi/tech/1296984829/8
にはトリップはついていませんよ。嘘はよくないですねえ。
0016デフォルトの名無しさん
2011/02/06(日) 19:54:270017デフォルトの名無しさん
2011/02/06(日) 19:54:39本屋に行くと,WinAPIとCがそれぞれ別の言語としてコーナーに分かれていました。
WinAPIって言語なんですか?
0018デフォルトの名無しさん
2011/02/06(日) 19:55:32894 :デフォルトの名無しさん:2011/02/05(土) 23:39:04
その通り
脳内で何をしているの?
0019デフォルトの名無しさん
2011/02/06(日) 20:00:35親切に答えると怒られるスレで親切に答えてみるテスツ
APIの意味調べてみた?
0020デフォルトの名無しさん
2011/02/06(日) 20:01:37win32api は Windows の話です。
Windows という OS が提供する機能を使用するときには、win32api と総称される関数群を所定の手続きを経て呼び出します。(正確には dll の エントリーを呼びだすことになります。)
win32api を呼び出すのは、C 以外の言語であっても処理系によっては可能です。(excel からでも可能だったりします。)だから厳密にいえば、c 言語であることと、win32api を呼び出すこととは直接の関係はありません。
0022デフォルトの名無しさん
2011/02/06(日) 20:10:370023デフォルトの名無しさん
2011/02/06(日) 20:11:25へーそうなんですか。
確かwin32apiを呼び出すときは
#include<stdio.h>
int Winmain(Windows.h)
にしないとだめなんですよね?
0024デフォルトの名無しさん
2011/02/06(日) 20:12:33ちょっと違います。
こちらが詳しいです。http://wisdom.sakura.ne.jp/system/winapi/win32/
なおコンパイラ/リンカを含めた環境が windows のプログラムを作成できるように対応していなければなりません。
0026デフォルトの名無しさん
2011/02/06(日) 20:16:12>>23
ちょっと違います。
こちらが詳しいです。http://wisdom.sakura.ne.jp/system/winapi/win32/
なおコンパイラ/リンカを含めた環境が windows のプログラムを作成できるように対応していなければなりません。
オブジェクト指向、それも純粋なオブジェクト指向であるところ。lisp の香りがするのも好き。
0028デフォルトの名無しさん
2011/02/06(日) 20:18:11コピペキチガイに粘着されてるからコテ外せ
0029デフォルトの名無しさん
2011/02/06(日) 20:19:040030デフォルトの名無しさん
2011/02/06(日) 20:21:30ご説明、ありがとうございました。
>SCI の値は 0x00808000 で、これは具体的にはアドレスと考えていいでしょう。
この説明は、わかりました。しかし、*を付けるのがよくわかりませんでした。
私にはまだ難しすぎるようです。
他のスレで、まったりと聞くことにしましたので、移動したいと思います。
どうもすみません。ありがとうございました。
0031デフォルトの名無しさん
2011/02/06(日) 20:22:17もう二度と来んなよ
0032デフォルトの名無しさん
2011/02/06(日) 20:32:17◆QZaw55cn4cみたいに、嫌われようがしつこく粘れよ
unsigned int *SCI = (volatile unsigned int *)0x00808000;
の前に
unsigned int a;
unsigned int *SCI;
SCI = &a;
が理解できるのか?
で
unsigned int *SCI = &a;
は理解できるのか?
0033デフォルトの名無しさん
2011/02/06(日) 20:32:56コピペ気狂いってなにを目的に人のレスをコピペするのですかね。コピペしてなにがいいたいのですかね。謎です。
0035デフォルトの名無しさん
2011/02/06(日) 20:36:39消えろカス
0036デフォルトの名無しさん
2011/02/06(日) 20:38:53氏ねカス
味方がいると思ってんじゃねーよクズ
0037デフォルトの名無しさん
2011/02/06(日) 20:45:49ウザいから消えろよ
0038デフォルトの名無しさん
2011/02/06(日) 20:46:000039デフォルトの名無しさん
2011/02/06(日) 20:46:45いい加減にしろ
0040デフォルトの名無しさん
2011/02/06(日) 20:49:27キモいね君
0041デフォルトの名無しさん
2011/02/06(日) 20:52:34このスレで必要とされてないからもう来ないでくれ。
荒れるだけだから。
0042デフォルトの名無しさん
2011/02/06(日) 21:08:18質問がないならスレ伸ばす必要もないし、微塵も笑えないネタなど不要である。
0043デフォルトの名無しさん
2011/02/06(日) 21:12:520044デフォルトの名無しさん
2011/02/06(日) 21:17:300045デフォルトの名無しさん
2011/02/06(日) 21:17:370046デフォルトの名無しさん
2011/02/06(日) 21:39:390047デフォルトの名無しさん
2011/02/06(日) 23:09:350048デフォルトの名無しさん
2011/02/06(日) 23:24:400049デフォルトの名無しさん
2011/02/06(日) 23:26:57くるり∂
なにか!?
0050デフォルトの名無しさん
2011/02/06(日) 23:32:10くるり∂
なにか!?
0051デフォルトの名無しさん
2011/02/06(日) 23:34:46今の所は一度もモリタポの授受はないようだが
一度でもモリタポの授受があった時点でアウト
2chで金儲けや宣伝をすると高額の宣伝料を取られます
0052デフォルトの名無しさん
2011/02/06(日) 23:56:50揃う場合と揃わない場合があります。なぜでしょうか
#include<stdio.h>
int main(void)
{
printf("sakamoto\tkakitsubata\n");
printf("keiji\tkuriverzidy\n");
return 0;
}
↑は揃いません。どなたか教えてください
0053デフォルトの名無しさん
2011/02/07(月) 00:03:09タブ幅はたいてい8文字分。
sakamotoで8文字いっちゃってるから、タブで次の8文字にいっちゃう。
printfでやりたいなら%10sとかでできる。
0054デフォルトの名無しさん
2011/02/07(月) 00:04:06揃う揃わないをどのように確認していますか?
コンソール画面やエディタなどでしたら
それらのタブ幅を9以上に設定すると揃いますよ
0055デフォルトの名無しさん
2011/02/07(月) 00:05:11揃うか揃わないかは端末次第です。タブで揃わない場合は空白で調整するしかありません。
それとて、端末がプロポーショナルなレイアウトなら揃えられないかも知れません。
0056デフォルトの名無しさん
2011/02/07(月) 00:08:15それなのにオブジェクト指向言語じゃないんですか?
0057デフォルトの名無しさん
2011/02/07(月) 00:10:490058デフォルトの名無しさん
2011/02/07(月) 00:16:14一応オブジェクト指向ってことですか?
0059デフォルトの名無しさん
2011/02/07(月) 00:17:380060デフォルトの名無しさん
2011/02/07(月) 00:21:11言語としてのサポートはないに等しい。
自分で作ればいくらでもできる。
0061デフォルトの名無しさん
2011/02/07(月) 00:22:08a=100;
これはオブジェクト指向では?
0062デフォルトの名無しさん
2011/02/07(月) 00:23:20変数を指す「オブジェクト」とオブジェクト指向の「オブジェクト」って意味違うよ
0063デフォルトの名無しさん
2011/02/07(月) 00:24:47それだけじゃ多態もカプセル化もないだろ
006456
2011/02/07(月) 00:27:19006556
2011/02/07(月) 00:29:200068デフォルトの名無しさん
2011/02/07(月) 00:33:46int main(void)
{
printf("%f\n",10+3);
return 0;}
だと正確な答えが出なくて、printf("%f\n",10.0+3.0)だと正確な答えが出るのはどうしてですか?
0069デフォルトの名無しさん
2011/02/07(月) 00:37:33可変長引数関数だから
0070デフォルトの名無しさん
2011/02/07(月) 00:40:1110+3は整数だから
0071デフォルトの名無しさん
2011/02/07(月) 00:42:13> printf("%f\n",10+3); 〜 だと正確な答えが出なくて
10+3 と言う int 型の値を printf("%f\n", ) が float 型とみなして表示しようと
するから。
ちなみに float f = 10 + 3; は、int から float に変換して正しく 13.0 が f に
入るけど、printf() の引数はその手の変換はしない。
(フォーマット文字列が可変なんていうケースもあるから。)
printf("%f\n", ...
とした以上、"%f\n" の次にくる引数は double 型でなければなりませんが、この引数を「10 + 3」と書くと、double 型にはなりません。
「10.0 + 3.0」
であれば、double 型になります。
C の文法では、"%f" を printf() の第一引数で指定したからといって、第二引数以下を適切に型変換してくれないのです。
>float 型とみなして
可変長引数では double 型に格上げされます。"%f" は double 型に対応する書式指定です。
0075デフォルトの名無しさん
2011/02/07(月) 00:47:11ただいまC言語勉強中の者です。
行き詰ってしまったので教えてください。
1.テキストファイルからテキスト(複数行)を読み込み、別のテキストファイルへ1行(改行なし)で書き込む。
2.特定の文字列が含まれる行になった時に、改行する。
以上の事をやりたいのですが、どうしたらよいでしょうか?
0076デフォルトの名無しさん
2011/02/07(月) 00:50:39%fはfloatも表示できるだろうが
とりあえず消えろ
0077デフォルトの名無しさん
2011/02/07(月) 00:51:421.strstrで特定の文字列を探す。
2.特定の文字列の前までgetcharで1文字ずつ読んで改行は読み飛ばし、改行以外はそのまま出力。
3.特定の文字列を出力して、改行。
4.特定文字列の後ろの文字から1.以降を繰り返し。
0078デフォルトの名無しさん
2011/02/07(月) 00:55:21複数行と1行の関連性がわからん
例題的なのがあればまだ答えようがあるんだが
2については特定の文字列を探して
文字列を\nに交換して後ろのを前にずらしてくる
0079デフォルトの名無しさん
2011/02/07(月) 00:56:06>>74 マジレス
>>76 無知の逆切れであらし化
このパターン多いなw
0080デフォルトの名無しさん
2011/02/07(月) 01:04:55それは可変長引数においては、float は double に格上げされるから。これを default argument promotion と呼びます。
ISO/IEC 9899:1999 6.5.2.2.6
K&R2 A 7.3.2
0082デフォルトの名無しさん
2011/02/07(月) 01:11:20【モリタポ有償】C/C++の問題を片付けます(2)
http://hibari.2ch.net/test/read.cgi/tech/1295273862/
でファビョってるぞ
こいつ2chを私物化して平気なツラをしてる
どんな神経してるんだ
信じられん
0083デフォルトの名無しさん
2011/02/07(月) 01:13:20>>76
>>80
http://www.kouno.jp/home/c_faq/c12.html
12.9: 嫁
こうして人は成長していくのであった^^;
008475
2011/02/07(月) 01:17:43説明不足で申し訳ありません。
以下例文
====================
日曜日
月曜日
火曜日
水曜日
木曜日
金曜日
土曜日
日曜日
月曜日
====================
これを以下のような感じに1行に並べる(1)
「日曜日」と言う文言がきた時に改行する(2)
====================
日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日
日曜日
====================
と言った感じです。
この例文でわかりますでしょうか?
0085デフォルトの名無しさん
2011/02/07(月) 01:23:37http://codepad.org/ZoFT7GuB
これはどうでしょう。標準入力から読み込み、特定の文字列を "test" として、"test" が含まれる行をみつけたら、その行を出力してから改行します。
"test" が含まれないかぎり、改行しません。
0087デフォルトの名無しさん
2011/02/07(月) 01:25:23スレ違いだから消えてくれ
0088デフォルトの名無しさん
2011/02/07(月) 01:26:39しね
0089デフォルトの名無しさん
2011/02/07(月) 01:27:03消えろゴミクズ
0090デフォルトの名無しさん
2011/02/07(月) 01:28:50これは恥ずかしい
それは困りました。
1) 「日曜日」をみつけたら「日曜日」を出力してから改行する
2) 「日曜日」をみつけたら「日曜日」を出力する前に改行する
のいずれにもあたりませんね。どうしましょうか?
0093デフォルトの名無しさん
2011/02/07(月) 01:31:05お前が消えるのが一番よろしい
009475 ◆x5.USacuQA
2011/02/07(月) 01:34:03あやうく変な人と交流をもつところでした
0095デフォルトの名無しさん
2011/02/07(月) 01:35:22◆QZaw55cn4c は明らかな人格障害だよ
こいつ精神科に行かなければならない
2chでも多くの人に迷惑を掛けてばかりだ
0096デフォルトの名無しさん
2011/02/07(月) 01:35:35====================
日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日
日曜日
====================
ではなく
====================
日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日
日曜日 月曜日
====================
じゃないのかい?
これなら、日曜日は改行でそれ以外はスペースと法則性は見える
0097デフォルトの名無しさん
2011/02/07(月) 01:36:28a.ある程度の長さのバッファを用意する
b.1行ずつ読み込んでいく
c-1.読み込んだ中に特定の文字列が無ければファイルに書き込む
c-2.特定の文字列があれば改行文字を書き込んでから以下略
>>87
これがスレチならここは何をするんだ?
◆QZaw55cn4c
消えろゴミクズ
0098デフォルトの名無しさん
2011/02/07(月) 01:36:33まともじゃない
0099デフォルトの名無しさん
2011/02/07(月) 01:37:51毎回◆QZaw55cn4cを誘発するし
0101デフォルトの名無しさん
2011/02/07(月) 01:42:56◆QZaw55cn4c は「妄想性人格障害」と「無頓着性自己愛性人格障害」の混合タイプみたいだな
>人格障害とは
>その人の持っている「人格」が常道からはずれてしまって、社会生活に障害を来すものを言います。
>青年期や成人期早期に始まることが多く、長期にわたってその人格が安定しいて、苦痛を伴います。
>この中でその障害が他の精神障害に原因がないものを一般的に人格障害といいます。
もう人間のクズじゃん
0102デフォルトの名無しさん
2011/02/07(月) 01:44:001.
system("echo `cat file.txt`");
2.
system("awk '{printf(\"%s \", $0);} /pattern/ {print \"\";}' file.txt");
010375・84
2011/02/07(月) 01:46:07実行する環境はWindowsServer2008です。
じゃあこれでどうぞ。
http://codepad.org/hYgSwpDr
0105デフォルトの名無しさん
2011/02/07(月) 01:48:48糞
010675・84
2011/02/07(月) 01:54:480107デフォルトの名無しさん
2011/02/07(月) 01:57:07自分で試行錯誤して
それでも出来なかったら聞けよゆとり君
0110デフォルトの名無しさん
2011/02/07(月) 02:15:570111デフォルトの名無しさん
2011/02/07(月) 02:21:49ttp://hibari.2ch.net/test/read.cgi/tech/1295273862/
が面白いことになってるぞwwwww
0112デフォルトの名無しさん
2011/02/07(月) 03:01:20絡み方が下手すぎて面白くない
0113デフォルトの名無しさん
2011/02/07(月) 04:15:50夏と春休みで、理解できなかったプログラミング勉強しまくって
ウハウハwwwwwwwもう職業レベルwwwwスロースターター過ぎ
ワロタwww
後輩の女子にプログラミング教えまくって楽しすぎワロタwww
「先輩何で留年したの?」
"あのさ、俺仮面で東大目指そうとしてんだわ、私大だから授業料
たけーじゃん?でほとんど大学行ってなかったし、でももう諦めたわけ"
「ええ何でですか?」
"いやさ、東大行っても結局1人暮らしで生活費かかるじゃんw?"
「確かに!、かっこいいですね先輩!、先輩ここ教えてください」
"えぇよ、先輩って言わなくていいよ^-^"
可愛すぎワロタwww言い訳かっこよすぎワロタwww
留年してよかったwww
男同士固まって教えあって、必死こいて単位取ってる奴らバロスwwww
そんな奴らが論文wwwwwww童貞wwww
0114デフォルトの名無しさん
2011/02/07(月) 04:20:32よって飛び級決定wwww絵に描いたような勝ち組過ぎてさーせんww
留年=真の勝ち組は決定事項ww
0115デフォルトの名無しさん
2011/02/07(月) 10:31:090116デフォルトの名無しさん
2011/02/07(月) 18:06:110117デフォルトの名無しさん
2011/02/07(月) 18:33:27楽しすぎる
0118デフォルトの名無しさん
2011/02/07(月) 19:05:580119デフォルトの名無しさん
2011/02/07(月) 19:37:460120デフォルトの名無しさん
2011/02/07(月) 20:12:170121デフォルトの名無しさん
2011/02/07(月) 20:18:190122デフォルトの名無しさん
2011/02/07(月) 20:32:560123デフォルトの名無しさん
2011/02/07(月) 20:39:030124デフォルトの名無しさん
2011/02/07(月) 21:06:210125デフォルトの名無しさん
2011/02/07(月) 21:18:310126デフォルトの名無しさん
2011/02/07(月) 22:21:32ビックエンディアンすぎるだろ
0127デフォルトの名無しさん
2011/02/07(月) 22:21:37なだ場会宴の達イガチキもtrapのこ
0128デフォルトの名無しさん
2011/02/07(月) 22:22:22お前のせいで全て台無しだ
0129デフォルトの名無しさん
2011/02/07(月) 22:25:53どこから突っ込んでいいのやら
0130デフォルトの名無しさん
2011/02/07(月) 22:26:400131デフォルトの名無しさん
2011/02/07(月) 22:30:29ビッグなのは>>126の頭だけにしとけ
ってとこだろ
0132デフォルトの名無しさん
2011/02/07(月) 22:37:23リトルエンディアンだろ
0133デフォルトの名無しさん
2011/02/07(月) 22:39:40いいのないかな?なんか前使ってたボーランドが見当たらなくて
0134126
2011/02/07(月) 22:40:17悪気はなかったんです
今度は邪魔しないから、ここからもう一度、がんばってみないか?
0135デフォルトの名無しさん
2011/02/07(月) 22:41:430136デフォルトの名無しさん
2011/02/07(月) 22:42:400137デフォルトの名無しさん
2011/02/07(月) 22:43:460138デフォルトの名無しさん
2011/02/07(月) 22:44:500139デフォルトの名無しさん
2011/02/07(月) 22:45:28おまえさえいなければ…ぜったいにゆるさない…
0140デフォルトの名無しさん
2011/02/07(月) 22:49:27キチガイ降臨とアピールしたかったのさ
>>133
ローカルPCにインスコしてなんて言うおっさん時代は終わったよ
ゆとり時代はクラウドでこれよ
http://codepad.org/
0141デフォルトの名無しさん
2011/02/07(月) 22:50:000142デフォルトの名無しさん
2011/02/07(月) 22:51:100143デフォルトの名無しさん
2011/02/07(月) 22:51:58あいつ来ないとスレが面白くない
0144デフォルトの名無しさん
2011/02/07(月) 22:53:44横レスだが、134で謝罪してるんじゃね?
0145デフォルトの名無しさん
2011/02/07(月) 22:56:58心が伝わってこないので許しません
0146デフォルトの名無しさん
2011/02/07(月) 22:57:00ヌヒよ燃料は自分で投下しろ
0148デフォルトの名無しさん
2011/02/07(月) 22:59:51心が伝わってこない。むしろ怒りが増した
0149デフォルトの名無しさん
2011/02/07(月) 22:59:520150デフォルトの名無しさん
2011/02/07(月) 23:01:370151デフォルトの名無しさん
2011/02/07(月) 23:04:570152デフォルトの名無しさん
2011/02/07(月) 23:07:05◆QZaw55cn4c の神経は本当にどうかしてると思う
普通だったら恥ずかしくてコテ外すぞ
0153デフォルトの名無しさん
2011/02/07(月) 23:11:430154デフォルトの名無しさん
2011/02/07(月) 23:18:13お前らのことなど眼中に無いから気にならないにょ♪
0155デフォルトの名無しさん
2011/02/07(月) 23:19:360156デフォルトの名無しさん
2011/02/07(月) 23:21:430157デフォルトの名無しさん
2011/02/07(月) 23:27:380158デフォルトの名無しさん
2011/02/07(月) 23:29:58お前が眼中になくてもこっちが迷惑してると言ってんだよ
本当に頭おかしいなお前!
とっとと精神科逝け
0159デフォルトの名無しさん
2011/02/07(月) 23:30:120160デフォルトの名無しさん
2011/02/07(月) 23:31:12○ ・ω・ ○
○○○
.c(,_uuノ
0161デフォルトの名無しさん
2011/02/07(月) 23:33:410162デフォルトの名無しさん
2011/02/07(月) 23:34:152ちゃんで顔が広いの自慢する奴とかキモすぎるし
0163デフォルトの名無しさん
2011/02/07(月) 23:35:110164デフォルトの名無しさん
2011/02/07(月) 23:41:07◆QZaw55cn4cのスレで◆QZaw55cn4cが論破されてからこの流れ
はてさて^^
0165デフォルトの名無しさん
2011/02/07(月) 23:41:45ここに構ってもらいに来ているのです
しかもあまりの性格の悪さと耐久力の無さに、いい年をして未だに無職で、新しいPCを
買う金もないのでPen�V800MHzという時代遅れもいいマシンを使っています
0166デフォルトの名無しさん
2011/02/07(月) 23:43:42答えられませんからwww
0167デフォルトの名無しさん
2011/02/08(火) 00:22:08かわいちょーwww
0168デフォルトの名無しさん
2011/02/08(火) 05:16:19内部でdoubleに格上げされることを言及する場面でもないだろ。
Qなんとかがせっせとレスしてたみたいだが。
0169デフォルトの名無しさん
2011/02/08(火) 05:17:420170デフォルトの名無しさん
2011/02/08(火) 05:18:20> ちなみに float f = 10 + 3; は、int から float に変換して正しく 13.0 が f に
> 入るけど、printf() の引数はその手の変換はしない。
> (フォーマット文字列が可変なんていうケースもあるから。)
イジメヨクナイ
0171デフォルトの名無しさん
2011/02/08(火) 06:50:51printfの"%f"はdoubleにcastされるのか?
こりゃ新しいコンパイラが必要だなw
0172デフォルトの名無しさん
2011/02/08(火) 07:45:51昔からそうです。コンパイラを変える必要はないでしょう。この手の話は >>83 が一番わかりやすいと思います。
って書くと、楽しんでいただけますか?
>>149,150
最終的な回答は
http://hibari.2ch.net/test/read.cgi/tech/1295273862/71
http://hibari.2ch.net/test/read.cgi/tech/1295273862/74
http://hibari.2ch.net/test/read.cgi/tech/1295273862/78
あたりでしょう。これらに対する有効な回答はないみたいですね。
論破された、という意味では、
http://hibari.2ch.net/test/read.cgi/tech/1295273862/61
が決定的な有効打でした。これには参りました。
>>165
PenIII 866 です。
私の Let's note もそろそろ換え時でしょうね。B5ノートでリーズナブルなのがあれば使用感とともに教えていただけると嬉しいです。
0174デフォルトの名無しさん
2011/02/08(火) 08:01:26intよりも小さい整数型はintに、doubleより小さい実数型はdoubleにキャストされて詰まれる。
注意すべきは、intやdoubleよりも大きい型の場合。例えば、これは破綻する。
--
long double foo = 1;
int bar = 2;
printf("%g, %g", foo, bar);
--
前者はlong doubleをdoubleにキャストしてくれないし、後者は整数を実数にキャストしてくれない。
但し、プロトタイプ宣言がある場合は適切にキャストされる。従って、これも問題ない。
--
void func(float foo, long double bar);
func(1.2, 3);
0175デフォルトの名無しさん
2011/02/08(火) 09:26:25>>173
わざわざコテ外して暴言吐いてから書き込む◆QZaw55cn4cさんぱねぇッス!!!”!!!!!!!!
0176デフォルトの名無しさん
2011/02/08(火) 09:30:29MacBookAirでいいじゃん。
0177デフォルトの名無しさん
2011/02/08(火) 09:31:56リーズナブルって、金も無いのに買えるの?出来もしない事を言っちゃいけませんよ^^
0178デフォルトの名無しさん
2011/02/08(火) 09:43:22無理だろ。
MacBookAirの値段を500円で割ってみろよ…何年後になるんだよ
0179デフォルトの名無しさん
2011/02/08(火) 09:45:55リーズナブルわろたw
無一文でそのセリフは完全にギャグだろw
0180デフォルトの名無しさん
2011/02/08(火) 09:48:250181デフォルトの名無しさん
2011/02/08(火) 11:37:200182デフォルトの名無しさん
2011/02/08(火) 11:39:390183デフォルトの名無しさん
2011/02/08(火) 12:38:140184デフォルトの名無しさん
2011/02/08(火) 12:40:35データを転送する。
時間を計る。
おわり。
0185デフォルトの名無しさん
2011/02/08(火) 12:45:29http://hibari.2ch.net/test/read.cgi/tech/1295273862/61
が決定的な有効打でした。これには参りました。
0186デフォルトの名無しさん
2011/02/08(火) 12:47:43>>171
ちんちんシュッシュッ
って書くと、楽しんでいただけますか?
0187デフォルトの名無しさん
2011/02/08(火) 13:25:26データって何を転送したらいいですか?
0188デフォルトの名無しさん
2011/02/08(火) 13:26:39いい加減スレ違い
0189デフォルトの名無しさん
2011/02/08(火) 13:48:12そうでしたか
どこで聞いたらいいですかね?
0190デフォルトの名無しさん
2011/02/08(火) 13:55:08http://hibari.2ch.net/test/read.cgi/tech/1295273862/
0191デフォルトの名無しさん
2011/02/08(火) 15:16:130192デフォルトの名無しさん
2011/02/08(火) 15:20:220193デフォルトの名無しさん
2011/02/08(火) 15:21:380194デフォルトの名無しさん
2011/02/08(火) 15:25:250195デフォルトの名無しさん
2011/02/08(火) 20:48:35自作自演してたのはほとんど◆QZaw55cn4cだったってオチ?
0196デフォルトの名無しさん
2011/02/08(火) 21:18:46普段トリップを外さないのは他人を装いやすくするため
0197デフォルトの名無しさん
2011/02/08(火) 21:34:34A、スレッドを流せばいい
Q、連投すると荒らし扱いされる危険もあるのでは?
A、◆QZaw55cn4cをダシに使えばいい
0198デフォルトの名無しさん
2011/02/08(火) 21:38:11A、突っ込む奴=◆QZaw55cn4cでおk
0199デフォルトの名無しさん
2011/02/08(火) 22:00:13#include<stdio.h>
void main()
{
int a,b;
a = 2;
b = 2;
printf("a=%d , a++=%d , ++a=%d\n",a,a++,++a);
printf("a=%d \n",a);
printf("b=%d , ++b=%d , b++=%d\n",b,++b,b++);
printf("b=%d \n",b);
}
このプログラムで、aとbで数字が微妙に違うんですがなぜですか
順番が関係してるのはわかりますが詳細希望です
0200デフォルトの名無しさん
2011/02/08(火) 22:01:27>printf("a=%d , a++=%d , ++a=%d\n",a,a++,++a);
>printf("b=%d , ++b=%d , b++=%d\n",b,++b,b++);
こんな風に変数呼び出しに複数の引数を指定した場合はその評価順序については
規定がないから
0201デフォルトの名無しさん
2011/02/08(火) 22:05:160202デフォルトの名無しさん
2011/02/08(火) 22:05:310203デフォルトの名無しさん
2011/02/08(火) 22:06:321行で複数の副作用が発生する場合、どの順番で処理するのかは環境依存。
その例で言えば、決まった結果になるのはaとbの最終的な値のみ。
0204デフォルトの名無しさん
2011/02/08(火) 22:06:33規定がないってことは環境によってもでてくる数値が違ってくる可能性があるってことですか
0205デフォルトの名無しさん
2011/02/08(火) 22:08:51ありがとうございました
0206デフォルトの名無しさん
2011/02/08(火) 22:11:380207デフォルトの名無しさん
2011/02/08(火) 22:19:11§6.5.2.2.
10 The order of evaluation of the function designator, the actual arguments, and
subexpressions within the actual arguments is unspecified, but there is a sequence point
before the actual call.
0208デフォルトの名無しさん
2011/02/08(火) 22:19:15◆QZaw55cn4c、 コメントをどうぞ
0209デフォルトの名無しさん
2011/02/08(火) 22:20:160210デフォルトの名無しさん
2011/02/08(火) 22:41:08Q、恥ずかしい過去(>>71>>76)を消すにはどうしたらいいですか?
A、スレッドを流せばいい
Q、連投すると荒らし扱いされる危険もあるのでは?
A、◆QZaw55cn4cをダシに使えばいい
198 :デフォルトの名無しさん:2011/02/08(火) 21:38:11
Q、さすがにバレバレでは?
A、突っ込む奴=◆QZaw55cn4cでおk
0212デフォルトの名無しさん
2011/02/08(火) 22:49:44int main(void)
{
int sum;
printf("数字を入力してください\n");
scanf("%d",&sum);
do
{
printf("%d",sum % 10);
sum = sum/10;
}
while(sum > 0);
return 0;
}
エラーでます・・・
parese error before"G"
Gなんて言葉ありませんよ?どういうことでしょう
0213デフォルトの名無しさん
2011/02/08(火) 22:51:24何怒ってんだよ。落ち着けってww
a++;
printf("%d",a);
みたいに分けろって事なんじゃね
どっちにしろprintf("%d %d\n",a++,a++);とかは
コンパイラによって評価の仕方が違うから理解する必要ない
というかやってはいけないと理解するべき
0214デフォルトの名無しさん
2011/02/08(火) 22:51:52日本語のところがあやしくね?
0215デフォルトの名無しさん
2011/02/08(火) 22:53:04エラー文を出てきたまま書いて下さい
0216デフォルトの名無しさん
2011/02/08(火) 22:54:42糞
0217デフォルトの名無しさん
2011/02/08(火) 22:56:525行目が全角セミコロン
0218デフォルトの名無しさん
2011/02/08(火) 22:57:310219デフォルトの名無しさん
2011/02/08(火) 22:58:54例えば
>printf("a=%d , a++=%d , ++a=%d\n",a,a++,++a);
↓
>int b = a++;
>int c = ++a;
>printf("a=%d , a++=%d , ++a=%d\n", a, b, c);
0220199
2011/02/08(火) 23:00:14ごめん全然怒ってないんだけど、>>212の間違いかな。
なるほど、変数が同じときは一個一個分けて書くってことですか。
「,」で続けるのはやってはいけないって覚えておくことにします。
0221デフォルトの名無しさん
2011/02/08(火) 23:02:11あ、これじゃaの値が変わってしまうからaも保存しとかなきゃ
>int aa = a;
>int b = a++;
>a = aa;
>int c = ++a;
>printf("a=%d , a++=%d , ++a=%d\n", aa, b, c);
0222デフォルトの名無しさん
2011/02/08(火) 23:09:38しかしナチスは不滅である……たとえ米ソがいったんは勝つように見えようとも……。
そうなのだ、それは砂の上の勝利だ。彼らは世界の真の支配者ではないからだ。彼らの背後で操る者……ユダヤ……イスラエル……
世界的なユダヤ国際資本……。米ソは……おそらく1990年代ごろまで、対立と妥協を繰り返しつつ、世界を運営しようとする。
しかし所詮……ヨーロッパと日本、東アジア、イスラム諸国、インド……いずれ世界は米ソの手に負えなくなる。
そのときユダヤはみずから……に乗り出す。
哀れなアラブ4カ国……最終戦争。東西が激突するだろう。
ユダヤはそれに勝って全世界……なぜならそれが彼らの『旧約聖書』の約束だからだ。
黙っておけば必ずそうなる。しかし、私がそうはさせない。そのための手を、私は死ぬ前に打っておく。
それが最後の秘儀である。それによって人類はわれわれを受け継ぐことになる。
しかも見よ、そのあと、わがナチスの栄光、ラストバタリオン……。
それが真のハーケンクロイツの日だ。カギ十字の日だ。そのときラストバタリオンが現われる。ユダヤを倒す。
世界を支配する。永遠に……そしてナチスは甦る。真のヒトラーの時代が来る。必ずだ。
甦ったナチスの軍団とその強力な同盟がそのとき来る。宇宙からの復讐のカタストロフィとともに来るぞ。それからが真の究極だ。
真の終わりで真の始まり、真の淘汰、天国の地獄、21世紀のその年に、人類の驚くべき究極の姿……ではそれを明かそう。諸君、それは人類……」
0223デフォルトの名無しさん
2011/02/08(火) 23:40:13while(sum > 0);
これ怖い。
0224デフォルトの名無しさん
2011/02/08(火) 23:49:41どう怖いんですか?
0225デフォルトの名無しさん
2011/02/08(火) 23:51:05マイナスの値を入力したら下手をすると永久ループに飛び込む
環境依存だけど
0226デフォルトの名無しさん
2011/02/08(火) 23:52:150227デフォルトの名無しさん
2011/02/08(火) 23:53:090228デフォルトの名無しさん
2011/02/08(火) 23:54:38OSによって全然違うからOSマニュアルみたら
Windows DOS窓ならCtrl+C
Windows GUIならタスクマネージャから落とす
関数の区切りの , (コンマ)はたしかに注意すべきということでそのとおりなのですが、
順次演算子のコンマ(というのもあります。)については、これは副作用完了点(sequence point) です。
順次演算子の左で発生した副作用(++ とか -- とか)は、順次演算子のところで確定します。
副作用完了点となるのは、&&, ||, ?:(三項演算子/条件式)と順次演算子のコンマです。
そういうものもあるということで、一応コメントしておきます。
0230デフォルトの名無しさん
2011/02/09(水) 00:02:57そのターミナルで Ctrl-C するか、別のターミナルから
ps や top で プロセス ID を探して、kill -9 <PID> する。
0231デフォルトの名無しさん
2011/02/09(水) 00:04:19氏ね
0232デフォルトの名無しさん
2011/02/09(水) 00:04:25そんなもん知っとるわカス
0233デフォルトの名無しさん
2011/02/09(水) 00:05:21>>220
関数の区切りの , (コンマ)はたしかに注意すべきということでそのとおりなのですが、
順次演算子のコンマ(というのもあります。)については、これは副作用完了点(sequence point) です。
順次演算子の左で発生した副作用(++ とか -- とか)は、順次演算子のところで確定します。
副作用完了点となるのは、&&, ||, ?:(三項演算子/条件式)と順次演算子のコンマです。
そういうものもあるということで、一応コメントしておきます。
0234デフォルトの名無しさん
2011/02/09(水) 00:08:04何か一言いちゃもんを付けなければ気が済まないアホだなこいつは
0235デフォルトの名無しさん
2011/02/09(水) 00:11:43と言いたいところだけど、その「知識」も常識レベルだからそんなドヤ顔で書かれても寒いだけ
0236デフォルトの名無しさん
2011/02/09(水) 00:14:04単に暇なだけじゃこうまで突っ込みは出来ないよな
0237デフォルトの名無しさん
2011/02/09(水) 00:15:160238デフォルトの名無しさん
2011/02/09(水) 00:17:20だって、大基地に群がるキチガイだからな
0239デフォルトの名無しさん
2011/02/09(水) 00:18:010240デフォルトの名無しさん
2011/02/09(水) 00:18:380241デフォルトの名無しさん
2011/02/09(水) 00:19:270242デフォルトの名無しさん
2011/02/09(水) 00:19:460243デフォルトの名無しさん
2011/02/09(水) 00:20:30◆QZaw55cn4cは頭に血が上ると見境が付かなくなる馬鹿ですね
0244デフォルトの名無しさん
2011/02/09(水) 00:21:590245デフォルトの名無しさん
2011/02/09(水) 00:25:15おーこわ
0246デフォルトの名無しさん
2011/02/09(水) 00:31:530247デフォルトの名無しさん
2011/02/09(水) 00:32:500248デフォルトの名無しさん
2011/02/09(水) 00:34:020249デフォルトの名無しさん
2011/02/09(水) 00:48:350250デフォルトの名無しさん
2011/02/09(水) 01:01:41char *p1 = *dst;
char *p2 = *src;
while(size--){
*p1** = *p2++;
}
}
基本的なソースはこういう形として,
こういう形で,エンディアンの問題を回避する方法ってある?
0251デフォルトの名無しさん
2011/02/09(水) 01:03:45C言語でないものはスレ違い
0252デフォルトの名無しさん
2011/02/09(水) 01:05:16エンディアンの問題って、何を「問題」だと思ってるの?
それによって解答は変わる。
0253デフォルトの名無しさん
2011/02/09(水) 01:07:34bufに何も入らないんだけど何が悪いんだ?
0254デフォルトの名無しさん
2011/02/09(水) 01:08:270255253
2011/02/09(水) 01:09:560256デフォルトの名無しさん
2011/02/09(水) 01:11:42sscanf のリターンコードを見るんだ
0257デフォルトの名無しさん
2011/02/09(水) 01:12:160258デフォルトの名無しさん
2011/02/09(水) 01:13:48その%sだと空白文字(' ', '\n', '\t')を含む文字列は取り込めないが大丈夫か?
逆に、</return>の前に空白がないとくっついてしまうが大丈夫か?
"%s"の代わりに"%255[^<]"にでもした方がいいかも試練。
0259デフォルトの名無しさん
2011/02/09(水) 01:14:000260デフォルトの名無しさん
2011/02/09(水) 01:19:50糞ワロタw
0261デフォルトの名無しさん
2011/02/09(水) 01:20:20良レス
%I64d
0263250
2011/02/09(水) 01:23:05エンディアンの違うコンピュータで動作させることになって,
エンディアンの違いによってコピー結果が変わる事象です
0264デフォルトの名無しさん
2011/02/09(水) 01:23:52↑こんな感じのがポインタでくるから
sscanf( str,"<hogehoge='111'><hogehoge=\"unkunk\">%I64</hogehoge><return type=\"string\">%s</return></result>",&did, buf);
で@Unk_dayoをとりたいんです
0265デフォルトの名無しさん
2011/02/09(水) 01:29:03>>258
ありがとうございます
0266デフォルトの名無しさん
2011/02/09(水) 01:33:400267デフォルトの名無しさん
2011/02/09(水) 01:38:220268デフォルトの名無しさん
2011/02/09(水) 01:40:240269デフォルトの名無しさん
2011/02/09(水) 01:50:58C使いは大変だな
0270デフォルトの名無しさん
2011/02/09(水) 01:54:39Cを知らないと大変だな
0271デフォルトの名無しさん
2011/02/09(水) 02:01:22エスパーすると
#ifdef BO_UNIX
# define READ2LE ...
# define READ4LE ...
# define READ8LE ...
# define READ2BE ...
...
#elif defined BO_XINU
# define READ4LE ...
...
#endif
などのマクロを介せばいい
0272デフォルトの名無しさん
2011/02/09(水) 02:05:08>>250においては問題ない。その問題は外で解決すべき
0273デフォルトの名無しさん
2011/02/09(水) 02:33:35P.74でscanfは変数に値を読み込むときは変数名の先頭に&をつけると書いてあるんですが
P.191をみるとscanf("%s",input);なんてかいてあるんですが
&を書く場合と書かない場合について教えてください。
0274273
2011/02/09(水) 02:40:20//入力された英数字文字列に対して、小文字があればそれを大文字に置き換えるプログラム
//ただし、英数字は1行最大80文字まで入力でき、日本語や空白等は入力しないものとする。
#include<stdio.h>
int main()
{
char c[81];
int loop;
for(loop=0;loop<81;loop++) //c[81]を\0で初期化
{
c[loop] = '\0';
}
printf("文字列を入力してください(英数字で)\n");
scanf("%s",c); //ここでscanf("%s",&c);と書いても同じになるよ
for(loop=0;loop<81;loop++)
{
if(c[loop]>=97 && c[loop]<=122)
{
c[loop] -= 32 ;
}
}
printf("小文字を大文字に変換しました\n%s\n",c);
}
0275デフォルトの名無しさん
2011/02/09(水) 03:02:47c
&c
&c[0]
&0[c]
どれも等価だから。
0276デフォルトの名無しさん
2011/02/09(水) 03:04:57&c は型が違う
0277デフォルトの名無しさん
2011/02/09(水) 03:08:13&cはちょっと特殊で、生み出されたポインタの型がちがうんだけど、
それを活用する場面はあまりないし、上記のいずれかを使えばいいよ。
&をつけるかどうかについては、引数にポインタを渡さなければならないという観点でみると
整理できるかも。
0278デフォルトの名無しさん
2011/02/09(水) 03:09:260279デフォルトの名無しさん
2011/02/09(水) 03:09:48スマン
0280デフォルトの名無しさん
2011/02/09(水) 03:13:32while (fgetws(data, 1000, fp) != NULL){したらここで1回はブレークポイントで止まるのですがその後落ちます。次の行では止まりません。(WCHAR data
次の行swscanf_s(data,L"%s ; %s ; %s ; %d ; %d ; %d",&変数〜
どうしてでしょうか?
0281デフォルトの名無しさん
2011/02/09(水) 03:17:310282デフォルトの名無しさん
2011/02/09(水) 03:22:280283273
2011/02/09(水) 03:24:480284デフォルトの名無しさん
2011/02/09(水) 03:25:09うせろクズ
0285デフォルトの名無しさん
2011/02/09(水) 03:26:53荒らしないでくだちい
0286デフォルトの名無しさん
2011/02/09(水) 03:29:30関数に変数の値を変えてもらうには変数のアドレスを渡さないといけないんだよ。
ただ配列の場合はchar a[16]とするとaと書くだけで配列の先頭のアドレスを意味するからscanfでもaだけで良い。
0287デフォルトの名無しさん
2011/02/09(水) 03:32:20しばらくポインタ型の変数を宣言する予定がないなら、
配列は配列名を渡す(&をつけない)
配列ではない場合は&をつける
でいいよ。
0288デフォルトの名無しさん
2011/02/09(水) 03:33:58そうです。
配列のアドレスだからです
0289デフォルトの名無しさん
2011/02/09(水) 03:35:30ありがとうございます
.txtのファイルを読み込んでいるので、読み込むテキストをメモ帳でunicodeで保存しなおしましたが
やはり同じ所で落ちます。
0290デフォルトの名無しさん
2011/02/09(水) 03:43:32dataの宣言は?
というか再現できるコードもらったほうが早いかも。
0291デフォルトの名無しさん
2011/02/09(水) 03:49:17インクリメントされるのでテストコードを書いてみる勉強をどうぞ
0292デフォルトの名無しさん
2011/02/09(水) 03:51:46なに、coreファイルが作成されていない?
0293デフォルトの名無しさん
2011/02/09(水) 03:52:03すみません。
ファイルの読み込み時に
if ( (fp = fopen(readfile, "r") )== NULL){終了i}から
if ( _wfopen_s(&fp,readfile, L"r")== NULL){終了}に変えた時に!=としなかったので正常終了ならNULLが帰るため正常終了していないのに終了していませんでした
ありがとうございました
0294デフォルトの名無しさん
2011/02/09(水) 03:55:19解決してよかった。続きをがんばれ。
0295デフォルトの名無しさん
2011/02/09(水) 03:57:400296273
2011/02/09(水) 04:05:08理解できそうでできない…
関数はint main(){}のことで
変数ってのはc[81]で
配列の先頭のアドレスってchar a[16]の場合はa[0]のことでしょ
その理論で行くとscanf("%s",a[0])でscanf("%s",a)と同じってことだよね
でもa[0]に文字列って入らないと思う…入るのって1文字だけ?
プログラミングは始めたばっかだけどポインタ型の変数ってやつは近いうちにやってみたいな
0297デフォルトの名無しさん
2011/02/09(水) 04:11:28mainも関数だし、scanfも関数。もちろんprintfも。
>>286が言った「関数」はここではscanfを指している。
> 配列の先頭のアドレスってchar a[16]の場合はa[0]のことでしょ
a[0]は配列の先頭要素であって、先頭のアドレスじゃないので
> その理論で行くとscanf("%s",a[0])でscanf("%s",a)と同じってことだよね
上記の間違いにより、これも間違い。
>>277で書いたとおり、scanf("%s",&a[0])とscanf("%s",a)は同じ。
> でもa[0]に文字列って入らないと思う…入るのって1文字だけ?
そのとおり。
0298デフォルトの名無しさん
2011/02/09(水) 04:13:41>その理論で行くとscanf("%s",a[0])でscanf("%s",a)と同じってことだよね
違うよ。
aと等価なのは&a[0]。
0299273
2011/02/09(水) 04:40:34なるほど、そういうのを全部関数っていうのか
要素とアドレスを間違えていたせいで変なことを言ってしまいました
この本340ページもあるのにアドレスなんて言葉ひとことも書いてない…
>>277の文が理解できるまでネットで調べて頑張ってみます。
0300デフォルトの名無しさん
2011/02/09(水) 04:46:27可能ならば、一番最初にポインタ(メモリアドレスの概念)を学んだ方がいい
実用的なCプログラムは、ほぼ全てがアドレスありきだから
頭の中でメモリをイメージ出来さえすればポインタなんて難しくもなんともなくなるよ
0301デフォルトの名無しさん
2011/02/09(水) 06:44:34;がつくのに
普通のwhile(){}には
while();とならない。
何故ですか?
0302デフォルトの名無しさん
2011/02/09(水) 08:50:19while (条件) ; // 実行文がない。
この場合はセミコロンが必要です。同じことは
do {} while (条件) ;
とも書けます。やっぱりセミコロンが必要ですね。問題ありません。
0303デフォルトの名無しさん
2011/02/09(水) 08:59:36ありがぷー
0304デフォルトの名無しさん
2011/02/09(水) 09:04:540305デフォルトの名無しさん
2011/02/09(水) 11:30:36あ、お前は氏んでください
0306デフォルトの名無しさん
2011/02/09(水) 16:57:420307デフォルトの名無しさん
2011/02/09(水) 17:11:520308デフォルトの名無しさん
2011/02/09(水) 18:01:050309デフォルトの名無しさん
2011/02/09(水) 18:05:530310デフォルトの名無しさん
2011/02/09(水) 18:13:480311デフォルトの名無しさん
2011/02/09(水) 19:40:110312デフォルトの名無しさん
2011/02/09(水) 19:51:160313273
2011/02/09(水) 20:20:45int a;
a=5;
とやるとメモリとかアドレスとかはどういう動きをするの?
ポインタはアドレスを記憶するための変数って認識で合ってると思うけど。
0314デフォルトの名無しさん
2011/02/09(水) 20:21:260315デフォルトの名無しさん
2011/02/09(水) 20:38:350316デフォルトの名無しさん
2011/02/09(水) 20:49:01こういう単純な問いが実は一番答えにくかったりする
ポインタについて聞かれた日にゃどう説明していいやら
0317デフォルトの名無しさん
2011/02/09(水) 20:55:03計算機の基礎からやり直せ
0318デフォルトの名無しさん
2011/02/09(水) 20:57:45信号に応答するという意味で「動く」ぞ
0319273
2011/02/09(水) 21:06:16メモリの0x65fdf4というアドレスにaという変数が記憶される。
ここまでは合ってると思うんだけど
a=5;ではさらに0x~~1というアドレスが確保されて
メモリの0x~~1というアドレスに5という値が記憶されて
0x65fdf4と0x~~1が同じものをさしてますよという情報を
記憶するアドレス0x~~2があるってことですか
0320デフォルトの名無しさん
2011/02/09(水) 21:21:20変数 a のアドレスが 0x65fdf4 なら、
a=5 はアドレス 0x65fdf4 のメモリ領域に数値 5 を記憶するだけ
0321273
2011/02/09(水) 21:31:15変数aが5だという情報を記憶できるってことか
0322デフォルトの名無しさん
2011/02/09(水) 21:37:04値を記憶する領域だけが必要で、それが変数のアドレス
0323デフォルトの名無しさん
2011/02/09(水) 21:40:270x65fdf4は俺の家の住所
変数 aは俺の家名前
変数aが5は俺の家にいる奴
0324デフォルトの名無しさん
2011/02/09(水) 21:42:250325デフォルトの名無しさん
2011/02/09(水) 21:51:510326デフォルトの名無しさん
2011/02/09(水) 21:57:22メモリーはアドレスと値を対応付けて記憶できるようになっていて、アドレスを指定して対応する値を読み出すことが出来るようになっている。
アドレスは例えば0x0065fdf4(16進数)のような32ビットの数字で表されるが、人間には分かりにくいのでaとかという別名をつける。
ただ、aと書いてしまうと今度はコンピュータが理解できなくなるので、
人間がaに5を記憶させるつもりで、a = 5; と書いたもの(ソースコード)を、0x0065fdf4に5を記憶しろとコンピュータへの命令(機械語)に変換するのがコンパイラ。
0327デフォルトの名無しさん
2011/02/09(水) 21:59:16自分でお絵かきすればすぐに理解できるからやってごらん。
メモリは1列に並んだ箱の集まり。
それぞれの箱に番号を振ると箱1や箱2となるが、その番号部分がアドレス。
そして箱の中には「数値」だけしか入れられない。
その箱の中の「数値」を機械に「どう解釈させるか?」を決めるのが型。
int aなら、箱の中身は符号付整数と機械は解釈する。
int *aなら、箱の中身は他の箱番号を指している、つまりint型へのポインタと機械は解釈する。
0328デフォルトの名無しさん
2011/02/09(水) 22:01:430329デフォルトの名無しさん
2011/02/09(水) 22:07:150330デフォルトの名無しさん
2011/02/09(水) 22:12:030331デフォルトの名無しさん
2011/02/09(水) 22:16:470332デフォルトの名無しさん
2011/02/09(水) 22:17:40http://hibari.2ch.net/test/read.cgi/tech/1295273862/
0333デフォルトの名無しさん
2011/02/09(水) 22:20:04つまり、int aもint *aも、実際はどこかの箱(アドレス)を指しているにすぎない。
箱自体なのか中身なのか、その違いを識別させるのが型ってこと。
0334273
2011/02/09(水) 22:24:46なるほど、理解できたと思う
>>327の最後の行と>>326の内容から察するに、
int a; int *p; p=&a; について int型変数aのアドレスが0x0065fdf4、int型ポインタpのアドレスが0x0065fdf8だとすると、
人間がpに0x0065fdf4を記憶させるつもりでp=&aと書いたものを、
コンパイラは0x0065fdf8に0x0065fdf4を記憶しろとコンピュータへ命令するってことだ
つまりメモリは0x0065fdf8にpと0x0065fdf4が同じだという情報を記憶するのではなく
0x0065fdf8というアドレスには0x0065fdf4という値が入った状態になるってことだな
0335デフォルトの名無しさん
2011/02/09(水) 22:28:320336デフォルトの名無しさん
2011/02/09(水) 22:31:190337デフォルトの名無しさん
2011/02/09(水) 22:34:360338デフォルトの名無しさん
2011/02/09(水) 22:36:05で>>273の話に戻ると、誰かに箱の中身を変えさせたいときに
中身だけを渡してもしょうがないわけで、箱自体を渡す必要がある。
だからscanf()では、「箱の中身を指している変数」ではそのアドレスを渡さなきゃならない。
配列の場合はもともと先頭のアドレスを指しているので、&は不要、というわけ。
0340デフォルトの名無しさん
2011/02/09(水) 23:55:26http://codepad.org/jwQMESxZ
1. mallocの使い方はあっていますか。
2. 解放はちゃんとできていますか。
どうぞよろしくお願いいたします。
0341デフォルトの名無しさん
2011/02/10(木) 00:11:53C言語初心者質問総合
http://yuzuru.2ch.net/test/read.cgi/pc2nanmin/1080308026/
誰かが↑にコピーを張り付けていますがこれ私じゃないです。
だれですか orz
0342デフォルトの名無しさん
2011/02/10(木) 00:17:070343デフォルトの名無しさん
2011/02/10(木) 00:20:300344デフォルトの名無しさん
2011/02/10(木) 00:21:110345デフォルトの名無しさん
2011/02/10(木) 00:23:27自分でしたくせに
0346デフォルトの名無しさん
2011/02/10(木) 00:26:450347デフォルトの名無しさん
2011/02/10(木) 00:36:110348デフォルトの名無しさん
2011/02/10(木) 01:18:173 2 4 5 1を小さいものから並べる時に
i j p ←コレ
3 2 4 5 1
ってなんですか?
0349デフォルトの名無しさん
2011/02/10(木) 01:28:260350デフォルトの名無しさん
2011/02/10(木) 01:51:00俺の家、エグゼクティブあばら家って名前がついてるよ
0351デフォルトの名無しさん
2011/02/10(木) 01:55:56どうせ技術だけもっていて知恵がないと何をやっても中途半端に終わるという
意見は無しでお願いします。
今は学生なんでアルバイトでもいいです、何か有利なことありますか?
ゲーム作って売るとかどうでしょう?
0352デフォルトの名無しさん
2011/02/10(木) 02:00:320353デフォルトの名無しさん
2011/02/10(木) 02:05:34だなたぶん。
0354デフォルトの名無しさん
2011/02/10(木) 02:06:31それ基本挿入法じゃないんじゃない?
挿入ソートなら変数は 3 つも要らないと思われ。
i : 調査対象となっている位置
j : 比較対象となっている位置
で十分かと。
0355デフォルトの名無しさん
2011/02/10(木) 02:06:45Cを使う仕事でないとだめ?
Cをちゃんと理解できてるかどうかはその人の素養をみるためのいいバロメーターになるけれど。
0356デフォルトの名無しさん
2011/02/10(木) 02:08:560357デフォルトの名無しさん
2011/02/10(木) 02:09:510358デフォルトの名無しさん
2011/02/10(木) 02:10:38Java だけ、JavaScript だけ、PHP だけ、Perl だけ、Objective-C だけ
とかならありそうなんだけど、C かあ・・・
0359デフォルトの名無しさん
2011/02/10(木) 02:12:010360デフォルトの名無しさん
2011/02/10(木) 02:15:18Cすら出来ないプログラマはいないよ
こんぴゅーたーの基礎だからね
0361デフォルトの名無しさん
2011/02/10(木) 02:17:04コンピュータの基礎でもないし、Cができないプログラマもいるよ。
0362デフォルトの名無しさん
2011/02/10(木) 02:26:57ありがとうございます。何とかやってみます
0363デフォルトの名無しさん
2011/02/10(木) 02:32:36新卒や派遣スクリプタさんは別として
畑違いの部署の若い子やおじちゃんでも
プログラマでCすら出来ない人は出会った事ないなー
間引きされてるのかな
0364デフォルトの名無しさん
2011/02/10(木) 02:36:490365351
2011/02/10(木) 02:52:53仕事だとハードル高くなるので、"能力主義"という
一般論で収まるんで。
0366デフォルトの名無しさん
2011/02/10(木) 02:54:470367デフォルトの名無しさん
2011/02/10(木) 02:56:07Cは書けて当たり前ですからね・・・
0368デフォルトの名無しさん
2011/02/10(木) 04:48:17java やってはるんやないですか?
0369デフォルトの名無しさん
2011/02/10(木) 08:04:39組み込みでもやってろ
0370デフォルトの名無しさん
2011/02/10(木) 10:47:17VBで作られたプログラムがあまりにも多かったために保守要員が残されているらしい
0371デフォルトの名無しさん
2011/02/10(木) 12:11:480372デフォルトの名無しさん
2011/02/10(木) 12:57:41線形リスト構造の使い方について質問です。
http://codepad.org/jwQMESxZ
1. mallocの使い方はあっていますか。
2. 解放はちゃんとできていますか。
どうぞよろしくお願いいたします。
756 : ◆QZaw55cn4c :2011/02/10(木) 04:46:12 ID:???
>>755
free()忘れはないですし、いいと思います。
念入りに書くのだったら、malloc() の返り値が NULL かどうかチェックして、
NULL, すなわち malloc() が失敗したときには、たとえばエラーメッセージを表示して中断する、とかするのもいいかもしれません。
757 :まちがって名前消しちゃいました。:2011/02/10(木) 09:49:04 ID:???
>>755です。
mallocのエラー処理はあった方がいいんですね。
線形リスト構造はややこしくてこんがらがっていましたが
ちょっと自信つきました。添削アドバイスありがとうございました^^
0373デフォルトの名無しさん
2011/02/10(木) 14:04:140374デフォルトの名無しさん
2011/02/10(木) 15:59:340375デフォルトの名無しさん
2011/02/10(木) 16:16:19距離空間とは距離の空間をあわらす
0376デフォルトの名無しさん
2011/02/10(木) 16:22:33距離空間はハンバーガーと思えばいい
0377デフォルトの名無しさん
2011/02/10(木) 17:30:01int main(void)
{
int i,t;
scanf("%d\n",t)
printf("%d\n",i+t);
return 0;
}
エラーがでます・・・何故でしょうか?
0378デフォルトの名無しさん
2011/02/10(木) 17:31:55面白くないよ
0379デフォルトの名無しさん
2011/02/10(木) 17:32:52scanf("%d\n",t);
にしたら解決しました。エラー出ませんでした。
質問取り下げます。
0380デフォルトの名無しさん
2011/02/10(木) 17:42:160381デフォルトの名無しさん
2011/02/10(木) 17:50:570382デフォルトの名無しさん
2011/02/10(木) 18:39:29次の質問が出てくるものだと待ってたのに裏切られた気分
0383デフォルトの名無しさん
2011/02/10(木) 18:56:09有効なアルゴリズムみたいなのありますか?
int num[10] = {1, 2, 3 … 8, 9, 10}を
3 9 5 8…みたいに並べ替えたいです。
0384C言語の事なら俺に聞け(入門編) part78
2011/02/10(木) 18:58:33#include<stdio.h>
int main(void)
{
int i=0,t;
scanf("%d\n",&t);
printf("%d\n",i+t);
return 0;
}
一応こんな感じにね。
0385デフォルトの名無しさん
2011/02/10(木) 19:08:460386デフォルトの名無しさん
2011/02/10(木) 19:56:000387デフォルトの名無しさん
2011/02/10(木) 20:07:560388デフォルトの名無しさん
2011/02/10(木) 20:15:16たとえば品川だけでなく、NON STYLEの井上裕介も「ナルシスト」「ウザい」などと叩かれがちだが、あくまでもネタであり、キャラだ。
品川の「ウザさ」も、山里の「キモさ」も、有吉の「毒舌」も、すべてを真剣に受け止めて批判に終始するような視聴者は、お笑いを楽しめていると言えないのではないだろうか。
0389デフォルトの名無しさん
2011/02/10(木) 20:18:520390デフォルトの名無しさん
2011/02/10(木) 22:47:090391デフォルトの名無しさん
2011/02/10(木) 23:15:35for(i = 10; i > 1; ) {
j = rand() % i--;
tmp = num[j];
num[j] = num[i];
num[i] = tmp;
}
0392デフォルトの名無しさん
2011/02/10(木) 23:30:12ありがとうございます。
0393デフォルトの名無しさん
2011/02/11(金) 00:38:450394デフォルトの名無しさん
2011/02/11(金) 00:48:34for(i = 0; i < 10; i++) {
j = rand() % (i + 1);
num[i] = num[j];
num[j] = i + 1;
}
ってやれば空の配列に数字を入れながらランダムにできる
0395デフォルトの名無しさん
2011/02/11(金) 00:59:15確率計算すると1周でいいんじゃなかったか
0396デフォルトの名無しさん
2011/02/11(金) 03:16:01ダウト
for(i = 0; i < 10; i++) {
/* ランダムに配置されている配列の最後に値を追加 */
num[i] = i + 1;
/* 最後の要素以外は全てランダムになっているので最後の要素のみ入れ替える */
j = rand() % (i + 1);
tmp = num[j];
num[j] = num[i];
num[i] = tmp;
}
0397デフォルトの名無しさん
2011/02/11(金) 03:20:140398デフォルトの名無しさん
2011/02/11(金) 03:22:05コードの意味が理解できなアホは引っ込んでろw
0399デフォルトの名無しさん
2011/02/11(金) 03:24:19学生さんかな
0400デフォルトの名無しさん
2011/02/11(金) 03:25:420401デフォルトの名無しさん
2011/02/11(金) 03:29:55>ってやれば空の配列に数字を入れながらランダムにできる
人に噛み付く前に、よく考えな
明らかに数字を入れる前にnum[j]を使ってる
0402デフォルトの名無しさん
2011/02/11(金) 03:33:37それ、十分小手先だよ
0403デフォルトの名無しさん
2011/02/11(金) 03:35:150404デフォルトの名無しさん
2011/02/11(金) 03:38:33>>394は初期化前の変数を読み出している
で、その場合、C言語での動作は未定義
小手先に走る前に、基本をもっと身に着けろ
0405デフォルトの名無しさん
2011/02/11(金) 03:42:240406デフォルトの名無しさん
2011/02/11(金) 03:44:05未定義だよ
0407デフォルトの名無しさん
2011/02/11(金) 03:46:38自己参照構造体乙
0408デフォルトの名無しさん
2011/02/11(金) 03:50:11>>394の場合
j < iの場合ならすでに内容があるし、i==jの場合なら不定の変数を代入してるが同じ場所だし、
直後にi+1を代入してるので問題ない
0409デフォルトの名無しさん
2011/02/11(金) 03:51:130410デフォルトの名無しさん
2011/02/11(金) 03:53:31そんな話は聞いたことないけどしたいならそうすればいいんじゃない?
それより、 i * 10 + 9 + ( i == 9 ) は意図したとおりに動かないね。
920 :デフォルトの名無しさん:2011/02/06(日) 17:34:11
問題ないように思える人はもう一度Cの規格票をよく読むんだ^^
923 :デフォルトの名無しさん:2011/02/06(日) 17:38:32
…というのも不親切なので答えをいうと
i == 9の部分はtrueの時1になることを想定しているけど
(90-100の階級幅だけ11あるので、ここだけ特別処理にしている)
Cの規格上はtrueは0以外の整数であればなんでもいいことになっているので
実装にっては「90-100」のような表示にならない可能性があるってことなのよ^^;
ここは
printf( "%d-%d %d人\n", i * 10, i == 9 ? 100 : i * 10 + 9, cv[ i ] );
のようにすべきでした。
924 :デフォルトの名無しさん:2011/02/06(日) 17:41:11
って、答えを書いているうちに即レスするんじゃない貴様ら^^
ちなみに、この「trueは0以外の整数」というのは
Cではけっこう重要な落とし穴なので初学者は覚えておくといいよ^^
929 :デフォルトの名無しさん:2011/02/06(日) 17:44:46
あれ?そうだっけ?すまんすまん^^ワラ
935 :デフォルトの名無しさん:2011/02/06(日) 17:49:37
こうして人は成長していくのであった^^;
0411デフォルトの名無しさん
2011/02/11(金) 03:53:39不定じゃなくて未定義だ
たまたま動いても、コンパイルエラーでも、実行時エラーでも構わない。
つーか、暫く2ch見てなかったけど、
テンプレから初心者用FAQはなくなったのか?
0412デフォルトの名無しさん
2011/02/11(金) 03:54:09◆QZaw55cn4c乙
0413デフォルトの名無しさん
2011/02/11(金) 03:54:57値は不定だけど未初期化領域へのアクセスは未定義
初期化されてない auto 変数の読み出しは、未定義。それによりプログラムが落ちても文句はいえない。
解説はフィンローダさんところがいいでしょう。
http://www.st.rim.or.jp/~phinloda/cqa/cqa7.html
0415デフォルトの名無しさん
2011/02/11(金) 04:04:05for(i = 0; i < 10; i++) {
j = rand() % (i + 1);
if(j != i) num[i] = num[j];
num[j] = i + 1;
}
最初にnum[10] = {0};ってやったほうが楽そうだ
0416デフォルトの名無しさん
2011/02/11(金) 04:05:42条件分岐で処理速度が落ちるから小手先テクの意味ないじゃん
0417デフォルトの名無しさん
2011/02/11(金) 04:10:25限られた範囲の数値が10から20や、-20から-10や、-10から10
てかみたいに、intで表せる任意の(連続)範囲ならどこでもOKなの?
0418デフォルトの名無しさん
2011/02/11(金) 04:12:31やるなら、こんな感じ。
for(i = 0; i < 10; i++) {
j = rand() % (i + 1);
num[i] = 0;
num[i] = num[j];
num[j] = i + 1;
}
でも、可読性が悪いため、他の人に
「num[i] = 0;」を消されるかも知れないので、お勧めできない。
0419デフォルトの名無しさん
2011/02/11(金) 04:13:36おい、おまえ、限られた範囲の数値をランダムに並べ替えやってみそ
0420デフォルトの名無しさん
2011/02/11(金) 04:14:45>>392
for(i = 0; i < 10; i++) {
j = rand() % (i + 1);
num[i] = num[j];
num[j] = i + 1;
}
ってやれば空の配列に数字を入れながらランダムにできる
0421デフォルトの名無しさん
2011/02/11(金) 04:15:10>>391ならOK
0422デフォルトの名無しさん
2011/02/11(金) 04:15:320423デフォルトの名無しさん
2011/02/11(金) 04:17:561 The behavior is undefined in the following circumstances:
The value of an object with automatic storage duration is used while it is
indeterminate (6.2.4, 6.7.8, 6.8).
0424デフォルトの名無しさん
2011/02/11(金) 04:20:060425デフォルトの名無しさん
2011/02/11(金) 04:33:05比較演算の結果は0か1になることが保障されてるって突っ込みが抜けてるから
「i * 10 + 9 + ( i == 9 ) は意図したとおりに動かないね。」が正しいように見えるわな
0426デフォルトの名無しさん
2011/02/11(金) 04:33:120427デフォルトの名無しさん
2011/02/11(金) 04:37:33そこは923で丁寧に説明されてるからおk
0428デフォルトの名無しさん
2011/02/11(金) 04:37:35初期化する必要なんてありません。
0429デフォルトの名無しさん
2011/02/11(金) 04:44:130430デフォルトの名無しさん
2011/02/11(金) 04:44:14出てこれる神経が分からん
アスペも混ざってるな
0431デフォルトの名無しさん
2011/02/11(金) 04:47:51お前さんスゲーナ
0432デフォルトの名無しさん
2011/02/11(金) 04:50:57static int sr[3][10]={{9,2,5,…}.{4,9,7,…},{0,5,4,…}};
#define F(a,b,c) (b[0]=a[0], b[1]=a[1],…,c=&sr[rand()%3],a[0]=b[*c[0]],…, a[9]=b[*c[9]],a)
int num[10]={0,1,…},tmp[10],(*mxr)[10];
F(num,tmp,mxr);
0433デフォルトの名無しさん
2011/02/11(金) 04:56:19マクロ長すぎ
素直に関数にして下さい
0434デフォルトの名無しさん
2011/02/11(金) 05:07:50最高にキモイな!うほ!
0435デフォルトの名無しさん
2011/02/11(金) 05:57:440436デフォルトの名無しさん
2011/02/11(金) 13:15:10JavaやC#ではlengthでそれ自身の長さを取れますが、
C/C++では、配列それ自身のサイズを取得することは不可能なのですか?
ある関数の引数として配列を渡す際に、それ自身のサイズの数値も渡さないとダメなのが不便に感じているのですが。
0437デフォルトの名無しさん
2011/02/11(金) 13:20:11取得できないのは、それが配列じゃないからだよ
0438デフォルトの名無しさん
2011/02/11(金) 13:25:30C++なら
template <class T, int N>
int func(T (&)[N]) { return N; }
って取得できる
0439デフォルトの名無しさん
2011/02/11(金) 13:26:31Cww
0440デフォルトの名無しさん
2011/02/11(金) 13:33:440441デフォルトの名無しさん
2011/02/11(金) 13:36:46配列なんて受け取ってないから
0442デフォルトの名無しさん
2011/02/11(金) 13:37:410443デフォルトの名無しさん
2011/02/11(金) 13:49:31だからC++では生の配列はあまり使わない
不便過ぎる
0444デフォルトの名無しさん
2011/02/11(金) 13:51:48そこらへんの兼ね合いでCは低レベルってだけの話だろ
0445デフォルトの名無しさん
2011/02/11(金) 13:57:03C++でも生配列は使うけど、クリティカルな部分やわざわざSTL使うほど
大げさじゃない部分だな
逆に言うと両方使えるというのは強み
0446デフォルトの名無しさん
2011/02/11(金) 14:01:13struct X{size_t sz;char p[0]}; /* gcc or c99 ext */
0447デフォルトの名無しさん
2011/02/11(金) 14:12:04パスワードをファイルに格納して、復号化の時に取り出すという
方法を考えているのですが、何がいけないのでしょうか?
printf("モード指定:e,d\n");
scanf("%c",&c);
if(c=='e'){
if(argv[3]==NULL){
printf("パスワードが設定されてません\n");
exit(1);
}
code(argv[3]);
init(c3);
dd.dd[0]=c3[0];
dd.dd[1]=c3[1];
de.dd[0]=c3[2];
de.dd[1]=c3[3];
fwrite(c3,1,32,fp);
}
if(c=='d'){
fread(c3,1,32,fq);
dd.dd[0]=c3[0];
dd.dd[1]=c3[1];
de.dd[0]=c3[2];
de.dd[1]=c3[3];
}
0448デフォルトの名無しさん
2011/02/11(金) 14:49:420449デフォルトの名無しさん
2011/02/11(金) 14:54:55書きこんでから本体の暗号化データを書き込み。復号化時には
32バイトを先に読み込んで、暗号化データ部を復元するという
処理をしたいです。
ちなみにパスワードはargv[3]で取り込みます。
int main(void)
{
int no;
printf("整数を入力してください。:");
scanf("%a",&no);
printf("貴方は%aと入力しました。/n",no);
return(0);
}
これを実行すると、
整数を入力してください。:
貴方は0x1.010af0p-1019と入力しました。
何を入れても、この0x1.010af0p-1019しか表示されません。どこが間違っていますか?
0451デフォルトの名無しさん
2011/02/11(金) 15:10:210452デフォルトの名無しさん
2011/02/11(金) 15:42:33・コンパイルできるコードを掲載してください。
0453デフォルトの名無しさん
2011/02/11(金) 16:23:16>>168
おはようございます。よく眠れましたか?
0454デフォルトの名無しさん
2011/02/11(金) 16:28:170455デフォルトの名無しさん
2011/02/11(金) 18:15:270456デフォルトの名無しさん
2011/02/11(金) 18:46:59「理路整然」という言葉を知らなそうな実に野蛮な顔つきをしてるな
0457デフォルトの名無しさん
2011/02/11(金) 18:58:50実にいやみったらしい顔をしてるな
0458デフォルトの名無しさん
2011/02/11(金) 19:05:59実に卑屈な顔をしているな
0459デフォルトの名無しさん
2011/02/11(金) 19:10:550460デフォルトの名無しさん
2011/02/11(金) 19:12:250461デフォルトの名無しさん
2011/02/11(金) 19:14:27そんなマジレス期待してないんだけど…
まさか本気で煽り合いしてるとでも思ったのか
0462デフォルトの名無しさん
2011/02/11(金) 19:16:230463デフォルトの名無しさん
2011/02/11(金) 19:27:480464デフォルトの名無しさん
2011/02/11(金) 19:32:04あなたが解けないC言語/C++言語の問題を ◆QZaw55cn4c が有償で片付けるスレッドです。
・モリタポ(http://moritapo.jp/)により決済を行います。
・投稿にあたっては、トリップを使ってください。トリップがなければ決済の確認ができません。
◆QZaw55cn4c は、トリップ以外の質問者の情報を知ることができませんので安心です。
【回答掲示までの流れ】
1. 質問者がトリップを使って問題を投稿する。
2. ◆QZaw55cn4c が回答できる問題があれば、◆QZaw55cn4c が受諾レスを行う。
受諾レスには決済日を基点とした回答猶予期間が示される。
3. 質問者が ◆QZaw55cn4c にモリタポを進呈する。
進呈の際には、問題を投稿したときに表示されたトリップ(パスワードではない)をメッセージに記入する。
4. モリタポの進呈を確認したら、◆QZaw55cn4c は回答を掲示する。(http://codepad.org/, http://ideone.com を使用します。)
【料金】
・一問あたり 500円(5000モリタポ・手数料込み)です。
・一つのレスに記述できる内容を一問とします。アップローダーを使用してもかまいません。
・◆QZaw55cn4c が受諾レスを行い、受諾レスに回答期日を示したにも関わらず、回答期日に間に合わなかった場合には、モリタポを返還します。
それ以外の場合にはモリタポの返還はいたしません。
【修正】
・◆QZaw55cn4c が一度示した回答に対しては、明白な錯誤があった場合を除いては、◆QZaw55cn4c は修正は基本的に行いません。
ただし、最大限ご希望に応じたいと考えていますので、修正希望があれば、トリップを使用して投稿してください。
修正希望回数は、最大3回を目安としてください。3回を超えて修正を希望する場合は、新規に質問を投稿しなおしてください。
いずれも場合も、修正に応じることを保障するものではありません。
0465デフォルトの名無しさん
2011/02/11(金) 20:15:44おちつけよブサメンwww
0466デフォルトの名無しさん
2011/02/11(金) 20:27:50>>459
0467デフォルトの名無しさん
2011/02/11(金) 20:35:330468デフォルトの名無しさん
2011/02/11(金) 20:53:220469デフォルトの名無しさん
2011/02/11(金) 20:56:280470デフォルトの名無しさん
2011/02/11(金) 21:32:44略
sprintf(gLcdBuf, (ROMC *)"CN%-2dCN%-2dCN%-2dCN%-2d", 1, 2, 3, 4);
この場合、(ROMC *)はどのような意味があるのでしょうか?
0471デフォルトの名無しさん
2011/02/11(金) 22:24:240473デフォルトの名無しさん
2011/02/11(金) 23:07:59ありがとう。
PICのプログラムをAVRに移植してるところです。
0474デフォルトの名無しさん
2011/02/11(金) 23:08:40誤爆
0475デフォルトの名無しさん
2011/02/11(金) 23:23:32【初心者歓迎】C/C++室 Ver.74【環境依存OK】
http://hibari.2ch.net/test/read.cgi/tech/1289292155/
>>473
疑って申し訳ない。移植がうまくいくことを願っています。
0477デフォルトの名無しさん
2011/02/12(土) 00:07:04いいから氏ねやwwwwwwwwwwwwww
0478デフォルトの名無しさん
2011/02/12(土) 00:18:430479デフォルトの名無しさん
2011/02/12(土) 00:23:170480デフォルトの名無しさん
2011/02/12(土) 00:24:18◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0481デフォルトの名無しさん
2011/02/12(土) 03:39:27燃料に対する粘着度のコスパが素晴らしいんだけど
0482デフォルトの名無しさん
2011/02/12(土) 03:42:480483デフォルトの名無しさん
2011/02/12(土) 03:51:08お前◆QZaw55cn4cだろ
0484デフォルトの名無しさん
2011/02/12(土) 03:57:05嫌ってるのは数人
どうでもいいと思ってるのがほとんど
0485デフォルトの名無しさん
2011/02/12(土) 04:03:530486デフォルトの名無しさん
2011/02/12(土) 04:06:440487デフォルトの名無しさん
2011/02/12(土) 04:06:450488デフォルトの名無しさん
2011/02/12(土) 04:12:490489デフォルトの名無しさん
2011/02/12(土) 04:16:07もしかして◆QZaw55cn4c本人かw
0490デフォルトの名無しさん
2011/02/12(土) 04:16:530491デフォルトの名無しさん
2011/02/12(土) 04:21:49俺が氏ねって書く前には誰かが似たようなこと既に書いてることが多い
0492デフォルトの名無しさん
2011/02/12(土) 04:24:562chで金儲けを企むような奴だし
0493デフォルトの名無しさん
2011/02/12(土) 04:25:09軽く流したり逃げ道を作ってやればいいのに
一々対応して論破するから荒らし化する
0494デフォルトの名無しさん
2011/02/12(土) 04:27:12キチガイ◆QZaw55cn4cが論破ってw
0495デフォルトの名無しさん
2011/02/12(土) 04:28:42お前分かりやすすぎ
0496デフォルトの名無しさん
2011/02/12(土) 04:35:33C言語で教えてください
0497デフォルトの名無しさん
2011/02/12(土) 04:38:23話題替えですか?
0498デフォルトの名無しさん
2011/02/12(土) 04:40:14=◆QZaw55cn4c
他のパターンない?
0499デフォルトの名無しさん
2011/02/12(土) 04:43:510500デフォルトの名無しさん
2011/02/12(土) 04:45:010501デフォルトの名無しさん
2011/02/12(土) 05:04:040502デフォルトの名無しさん
2011/02/12(土) 05:16:110503デフォルトの名無しさん
2011/02/12(土) 05:23:200504デフォルトの名無しさん
2011/02/12(土) 05:23:26> 【レス抽出】
> 対象スレ:C言語なら俺に聞け(入門編)Part 78
> キーワード:少ない
> 検索方法:マルチワード(OR)
>
> 502 名前:デフォルトの名無しさん[sage] 投稿日:2011/02/12(土) 05:16:11
> パターン少ないとか言い出すパターンも見慣れたなぁ
>
>
>
> 抽出レス数:1
被害妄想じゃない?
誰もパターン少ないなんて言って無いよ?
0505デフォルトの名無しさん
2011/02/12(土) 05:32:440506デフォルトの名無しさん
2011/02/12(土) 05:34:07きもい
0507デフォルトの名無しさん
2011/02/12(土) 05:35:13・モリタポ(http://moritapo.jp/)により決済を行います。
・投稿にあたっては、トリップを使ってください。トリップがなければ決済の確認ができません。
◆QZaw55cn4c は、トリップ以外の質問者の情報を知ることができませんので安心です。
【回答掲示までの流れ】
1. 質問者がトリップを使って問題を投稿する。
2. ◆QZaw55cn4c が回答できる問題があれば、◆QZaw55cn4c が受諾レスを行う。
受諾レスには決済日を基点とした回答猶予期間が示される。
3. 質問者が ◆QZaw55cn4c にモリタポを進呈する。
進呈の際には、問題を投稿したときに表示されたトリップ(パスワードではない)をメッセージに記入する。
4. モリタポの進呈を確認したら、◆QZaw55cn4c は回答を掲示する。(http://codepad.org/, http://ideone.com を使用します。)
【料金】
・一問あたり 500円(5000モリタポ・手数料込み)です。
・一つのレスに記述できる内容を一問とします。アップローダーを使用してもかまいません。
・◆QZaw55cn4c が受諾レスを行い、受諾レスに回答期日を示したにも関わらず、回答期日に間に合わなかった場合には、モリタポを返還します。
それ以外の場合にはモリタポの返還はいたしません。
【修正】
・◆QZaw55cn4c が一度示した回答に対しては、明白な錯誤があった場合を除いては、◆QZaw55cn4c は修正は基本的に行いません。
ただし、最大限ご希望に応じたいと考えていますので、修正希望があれば、トリップを使用して投稿してください。
修正希望回数は、最大3回を目安としてください。3回を超えて修正を希望する場合は、新規に質問を投稿しなおしてください。
いずれも場合も、修正に応じることを保障するものではありません。
0508デフォルトの名無しさん
2011/02/12(土) 05:36:40他にない?
と聞いたら
少ないと言ってるのと同義だ
そういうところが◆QZaw55cn4cのダメなところ
0509デフォルトの名無しさん
2011/02/12(土) 05:40:510510デフォルトの名無しさん
2011/02/12(土) 05:44:21思ってそうだね
0511デフォルトの名無しさん
2011/02/12(土) 05:45:170512デフォルトの名無しさん
2011/02/12(土) 05:45:440513デフォルトの名無しさん
2011/02/12(土) 05:49:220514デフォルトの名無しさん
2011/02/12(土) 08:56:16それにつられて数人書いてるっぽいけど、何でほっとかないかね。
0515デフォルトの名無しさん
2011/02/12(土) 09:37:530516デフォルトの名無しさん
2011/02/12(土) 09:41:04どーしてあたらしいパソコン買えないにょ?w
0517デフォルトの名無しさん
2011/02/12(土) 09:52:290518デフォルトの名無しさん
2011/02/12(土) 09:59:50&a,&bといった感じではなくて、16進数でそのままアドレスを指定したいです。
0519デフォルトの名無しさん
2011/02/12(土) 10:02:48char *a = (char *)0x12345678;
ただし、こんなところで質問してるやつには勧めない。
0520デフォルトの名無しさん
2011/02/12(土) 10:05:03どうもありがとうございます。
0521デフォルトの名無しさん
2011/02/12(土) 10:19:28パソコンいっぱい知ってるのにどーして就職できないの?w
0522デフォルトの名無しさん
2011/02/12(土) 10:36:16色々試してみましたが無理でした。。
10進数 -> 16進数 -> ?
16進数の文字列を表すchar配列は作れましたが、そのchar配列をポインターに変換する方法が分かりません。
それとも、他にもっと簡単な方法があるのでしょうか。
アドバイスよろしくお願いいたします。
char *a = (char *)hensuNoAtai;
0523デフォルトの名無しさん
2011/02/12(土) 11:14:210524デフォルトの名無しさん
2011/02/12(土) 11:51:300525デフォルトの名無しさん
2011/02/12(土) 11:54:52ポインターの内部表現は unsigned int だからキャストさえ適切であれば代入は可能
char* a;
int b = 123;
a = (char*)b;
warning は出るかも知れんし、こんな事に何の意味が有るかも解らんが
0526デフォルトの名無しさん
2011/02/12(土) 12:06:08( ゚Д゚)ハァ?
0527デフォルトの名無しさん
2011/02/12(土) 12:06:24ECMAみたいなハッキリした仕様書がないので、内部仕様を調べるのが難しいですね。。
ためになりました。ありがとうございました。
0528デフォルトの名無しさん
2011/02/12(土) 12:06:25>ポインターの内部表現は unsigned int だから
しれっとウソ書くなよ。
0529デフォルトの名無しさん
2011/02/12(土) 12:14:210530デフォルトの名無しさん
2011/02/12(土) 12:20:45LP64
IP64
ILP64
SILP64
この5つの区別位付くようにしとけ>>525
http://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%89%E3%82%AC%E3%83%BC%E3%83%BB%E3%83%80%E3%82%A4%E3%82%AF%E3%82%B9%E3%83%88%E3%83%A9
0532デフォルトの名無しさん
2011/02/12(土) 12:24:34//10進
char dec_str[] = "12345678";
int dec_value;
sscanf(dec_str, "%d", &dec_value);
hogehoge* ptr1 = (hogehoge*)dec_value;
//16進
char hex_str[] = "abcd1234";
int hex_value;
sscanf(hex_str, "%x", &hex_value);
hogehoge* ptr2 = (hogehoge*)hex_value;
0533デフォルトの名無しさん
2011/02/12(土) 12:26:15顔を真っ赤にして>>>531を書き込んだと思われる
0534デフォルトの名無しさん
2011/02/12(土) 13:09:48この話題がOSに依存すると思ってる君も >>525 と五十歩百歩だな。
0535デフォルトの名無しさん
2011/02/12(土) 13:10:140536デフォルトの名無しさん
2011/02/12(土) 17:01:35ドカタのスレはこうでなければだめだな
0537デフォルトの名無しさん
2011/02/12(土) 17:17:0664ビットマシンが出てから曖昧になってるけど、それ以前はCPUの語長 = intのサイズ = ポインタのサイズだったよ
本来ならば64ビットマシンの int は8Byte にすべきなんだけど、さすがにオーバースペックって事で4Byteのままにしたんでしょ
その事により >>530 が書いた様に多種の規格が生まれたって話じゃないの?
俺は >>531 じゃないよ
0538デフォルトの名無しさん
2011/02/12(土) 17:24:160539デフォルトの名無しさん
2011/02/12(土) 17:25:08最近の子は far とか near なんて知らないんだろうな...。
まあ、知らないのは別にいいんだが、「それ以前はCPUの語長 = intのサイズ =
ポインタのサイズ」なんてドヤ顔で書いてるのみるとかわいそうになるな。
0540デフォルトの名無しさん
2011/02/12(土) 17:28:50そうすることが都合いいからintのサイズとポインタのサイズがおなじだっただけで、
規格上はなんの関係もないんじゃ?
0541デフォルトの名無しさん
2011/02/12(土) 17:35:310542デフォルトの名無しさん
2011/02/12(土) 17:43:37525じゃないけど、IP64ってCの規格上でNGじゃん
覚える必要あるの?
0543デフォルトの名無しさん
2011/02/12(土) 17:46:140544デフォルトの名無しさん
2011/02/12(土) 17:50:21じゃぁ、覚えない
ってか、LLP64とLP64以外は必要になった時に覚えれば十分じゃね?
0545デフォルトの名無しさん
2011/02/12(土) 17:53:570546デフォルトの名無しさん
2011/02/12(土) 17:55:12その時代からコード書いてるけど、そんな時代の仇花の話は忘れた
>>540
うん、規格なんて話じゃなくて、一般論とか原則的って話だ
こんなに叩かれるなら符号無し整数って書けば良かったな
0547デフォルトの名無しさん
2011/02/12(土) 17:56:55だからsize_tを使えと…
0548デフォルトの名無しさん
2011/02/12(土) 18:00:32こういうバカが現場を混乱させるんだよ。
0549デフォルトの名無しさん
2011/02/12(土) 18:02:460550デフォルトの名無しさん
2011/02/12(土) 18:03:44まぁ待て落ち着け
元々>>522自体が規格外の処理なのに、規格に合わせた回答に意味があるのか?
0551デフォルトの名無しさん
2011/02/12(土) 18:05:02まぁ待て落ち着け
元々>>522自体が規格外の処理なのに、規格に合わせた回答に意味があるのか?
0552デフォルトの名無しさん
2011/02/12(土) 18:06:08糞
0553デフォルトの名無しさん
2011/02/12(土) 18:15:350554デフォルトの名無しさん
2011/02/12(土) 18:24:42ふーん
0555デフォルトの名無しさん
2011/02/12(土) 18:32:560556デフォルトの名無しさん
2011/02/12(土) 18:40:11覚えておくように
0557デフォルトの名無しさん
2011/02/12(土) 19:04:180558デフォルトの名無しさん
2011/02/12(土) 19:31:470559デフォルトの名無しさん
2011/02/12(土) 19:33:560560デフォルトの名無しさん
2011/02/12(土) 19:47:09処理系依存だから、スレ違いであることは間違いない
0561デフォルトの名無しさん
2011/02/12(土) 19:49:06これって異常?
0562560
2011/02/12(土) 19:52:430からポインタ型への変換は明確に保証されてるから、
100%スレ違いと言う訳ではなかったな…
世間一般的には、C言語の構造体とポインタと配列っていうのが、関門になっているんですねえ。ふむ。
0564デフォルトの名無しさん
2011/02/12(土) 19:56:14マスターしてることと、したつもりになってることじゃ別だからな…
それでも、アセンブラやってれば、1日でポインタと配列位は普通じゃなイカ
まぁ、C言語の構造ってのは良く分からんが
0565デフォルトの名無しさん
2011/02/12(土) 19:58:13氏ね
そりゃ頭が悪いからに決まっているでしょう。なにを自明なことを。
0567デフォルトの名無しさん
2011/02/12(土) 20:11:29氏ね
0568デフォルトの名無しさん
2011/02/12(土) 20:14:040569デフォルトの名無しさん
2011/02/12(土) 20:23:40いいから自分のクソスレに引っ込んでろよw
0570デフォルトの名無しさん
2011/02/12(土) 20:25:410571デフォルトの名無しさん
2011/02/12(土) 20:27:06今となっては良い思い出だ
0572当然未定義な。
2011/02/12(土) 20:27:07マスターのレベルにもよるよね。
普通に配列使うだけなら、他の言語知ってりゃできて当然。
char *x;
char y
char a[] = "012345678";
*x = a - 1;
y = x[2];
で、x に何が入るかまでわかってるなら結構すごいと思う。
0573デフォルトの名無しさん
2011/02/12(土) 20:28:11◆QZaw55cn4cは何を勘違いしてるんだかw
0574デフォルトの名無しさん
2011/02/12(土) 20:29:31>>561, >>564
マスターのレベルにもよるよね。
普通に配列使うだけなら、他の言語知ってりゃできて当然。
char *x;
char y
char a[] = "012345678";
*x = a - 1;
y = x[2];
で、x に何が入るかまでわかってるなら結構すごいと思う。
0575デフォルトの名無しさん
2011/02/12(土) 20:29:42xとyとaがメモリ上で連続してる保障はあるのか?
0576デフォルトの名無しさん
2011/02/12(土) 20:32:20そんな保証はないし、そんな保障はいらないだろ。
0577デフォルトの名無しさん
2011/02/12(土) 20:32:320578デフォルトの名無しさん
2011/02/12(土) 20:34:52名前欄の逃げ口上を読んでからレスしろよなクズが
0579デフォルトの名無しさん
2011/02/12(土) 20:44:27だから関係ないって言ってるだろ、ボケ。
# そっちで引っかかるやつがいるとは思わなんだ。(w
0580デフォルトの名無しさん
2011/02/12(土) 20:45:440581デフォルトの名無しさん
2011/02/12(土) 20:46:53> *x = a - 1;
大体の処理系はここで落ちるんじゃないか?
0582デフォルトの名無しさん
2011/02/12(土) 20:47:18釣られてくれてありがとう
0583デフォルトの名無しさん
2011/02/12(土) 20:48:09二行目のtypoは誰も突っ込まないのか?
0584デフォルトの名無しさん
2011/02/12(土) 20:50:10未定義だから何でもアリ
0585デフォルトの名無しさん
2011/02/12(土) 20:50:11さすがだな。
俺は普通に見落としてた。
0586デフォルトの名無しさん
2011/02/12(土) 20:53:400587デフォルトの名無しさん
2011/02/12(土) 20:53:45あきれるほど自分に返ってくる心境で言葉を飲んでいた
0588デフォルトの名無しさん
2011/02/12(土) 20:54:41わかんないです。
てか、未初期化変数 x で *x = a - 1; なんて怖くて出来ません…
0589デフォルトの名無しさん
2011/02/12(土) 20:58:17整数型をポインタ型に変換出来ることは規格で明確にされているよ。
すべての処理系で保証される。処理系に依存しない。
0590デフォルトの名無しさん
2011/02/12(土) 20:59:00だから名前欄に書いてるだろ
0591デフォルトの名無しさん
2011/02/12(土) 20:59:02すまん typo だらけだった。
char *x;
char y;
char a[] = "012345678";
x = a - 1;
y = x[2];
のつもりだった。
0592デフォルトの名無しさん
2011/02/12(土) 20:59:25だから、それを分かるならすごいって言ってるんだろ。人類の限界を越えている。
0593デフォルトの名無しさん
2011/02/12(土) 21:00:39*x = a - 1;
出題としてこれあっているの?
0594デフォルトの名無しさん
2011/02/12(土) 21:01:03>x = a - 1;
配列のアドレスより前のアドレスって保証されてないでしょ
0595デフォルトの名無しさん
2011/02/12(土) 21:02:11比較に使っていいだけ?
0596デフォルトの名無しさん
2011/02/12(土) 21:02:38規格をもう一回読んでみな
整数型からポインタ型へのキャストは処理系定義として規定されているから
どう処理しても、処理系依存の処理にしかならない
0597デフォルトの名無しさん
2011/02/12(土) 21:03:01ソースもtypoなら質問もtypoじゃね?
「x に何が入るか」→「y に何が入るか」
0598デフォルトの名無しさん
2011/02/12(土) 21:04:12An integer may be converted to any pointer type.
0599デフォルトの名無しさん
2011/02/12(土) 21:04:53x に何が入るかは処理系依存じゃね? y なら '1' だけど
0600デフォルトの名無しさん
2011/02/12(土) 21:04:55間違いだらけすぎる
おまけに知っていても役に立たない未定義動作だし
0601デフォルトの名無しさん
2011/02/12(土) 21:05:35|\ ( 釣れたよ〜・・・)
| \ `〜〜〜v〜〜〜´
し \
゙'゙":"''"''':'';;':,':;.:.,., ヽ○ノ
~~~~~|~~~~~~~ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ト>゚++<
ノ)
まさにこれじゃないかw
0602デフォルトの名無しさん
2011/02/12(土) 21:06:01加算は保証されている
減算は下記であれば保証される
p + n - m ( ただし n => m )
まぁ、要するに確保したメモリ以外にまたがらなければOK
0603デフォルトの名無しさん
2011/02/12(土) 21:07:39そもそも、処理系依存がすれ違いだって、どこに定義されてるんだ?
0604デフォルトの名無しさん
2011/02/12(土) 21:12:23アドレスとして有効(比較可能)なのは「配列要素を指すアドレスと配列の最後の要素を一つ越えたところを指すアドレス」
実際にアクセスしていいのは「配列要素を指すアドレス」
それ以外は未定義
0605デフォルトの名無しさん
2011/02/12(土) 21:13:46すまん、その通りだ。
>>599 みたいなやつを釣るつもりだったけど、酔ってると駄目だな。(w
0606デフォルトの名無しさん
2011/02/12(土) 21:14:16今JIS規格(日本語)しか読めんから分からんが、その直後に
規定されている場合を除いて、結果は処理系定義って書いてないか?
>>603
知らん
少なくとも、8年位前はスレ違いだった
最新の定義があれば教えてくれ
0607デフォルトの名無しさん
2011/02/12(土) 21:16:41おい>>605にディスられてるぞw
0608デフォルトの名無しさん
2011/02/12(土) 21:18:16じゃぁ
char str[] = "abc", *p;
for(p = str; *p; p++);
while(p-- >= str) putchar(*p);
みたいに文字列逆順に表示するのは、ループの最後の比較は未定義ってこと?
0609デフォルトの名無しさん
2011/02/12(土) 21:19:320610599
2011/02/12(土) 21:22:29いや俺みたいな奴が意味するところが判らないんだが....
x に y のアドレスが代入される処理系もそうでない処理系も有るし、y には '1' が代入される筈なので
間違ったことを書いたつもりは無いんだがね
0611デフォルトの名無しさん
2011/02/12(土) 21:22:38手元にJISしかないけど、そういうこと
--pでpがstrの一つ前を指した時点でオーバフローが生じてもいい
0612デフォルトの名無しさん
2011/02/12(土) 21:23:06それは未定義じゃないな
0613デフォルトの名無しさん
2011/02/12(土) 21:26:58オーバーフローが生じるケースってどんなだ?
0614デフォルトの名無しさん
2011/02/12(土) 21:28:01> 規定されている場合を除いて、結果は処理系定義って書いてないか?
結果は処理系定義であっても、整数型からポインタ型への変換は認められている。
0615デフォルトの名無しさん
2011/02/12(土) 21:29:220616デフォルトの名無しさん
2011/02/12(土) 21:31:09だから処理系依存の処理にしかならんって話なんだが?
0617デフォルトの名無しさん
2011/02/12(土) 21:33:04ちがう。規格外か?って話。だから規格外じゃない。
処理系依存かどうかは関係ない。
0618デフォルトの名無しさん
2011/02/12(土) 21:33:30引っ込みつかなくなってるとか釣りじゃないなら、規格書読み直せ。
x への代入からして未定義動作だ。
0619デフォルトの名無しさん
2011/02/12(土) 21:33:48先頭より前のオブジェクトアドレスはダメだが
最後尾の次のオブジェクトアドレス(ぱすとえんど)はおk
覚えとくように
0620デフォルトの名無しさん
2011/02/12(土) 21:38:30最初から処理系依存の話をしているのだが?
560 :デフォルトの名無しさん:2011/02/12(土) 19:47:09
>>559
処理系依存だから、スレ違いであることは間違いない
562 :560:2011/02/12(土) 19:52:43
ごめん、嘘ついた
0からポインタ型への変換は明確に保証されてるから、
100%スレ違いと言う訳ではなかったな…
589 :デフォルトの名無しさん:2011/02/12(土) 20:58:17
>>560 >>562
整数型をポインタ型に変換出来ることは規格で明確にされているよ。
すべての処理系で保証される。処理系に依存しない。
0621デフォルトの名無しさん
2011/02/12(土) 21:41:30> 整数型をポインタ型に変換出来ることは規格で明確にされているよ。
> すべての処理系で保証される。処理系に依存しない。
結果は処理系依存だが、整数型からポインタ型への変換ができることは処理系に依存しない。
0622デフォルトの名無しさん
2011/02/12(土) 21:41:44§6.3.2.2.
5 An integer may be converted to any pointer type. Except as previously specified, the
result is implementation-defined, might not be correctly aligned, might not point to an
entity of the referenced type, and might be a trap representation.56)
56)56) The mapping functions for converting a pointer to an integer or an integer to a pointer are intended to
be consistent with the addressing structure of the execution environment.
該当する部分JIS X3014
任意のポインタ型は整数型に型変換できる。これまでに規定されている場合を除き、
結果は処理系定義とする。結果が整数型で表現できなければ、その動作は未定義とする。
結果は何らかの整数型の値の範囲に含まれているとは限らない。
56)ポインタを整数型に変換する関数、又は整数をポインタに変換する関数は、実行環境に
おけるアドレス構造に関して一貫した動作をするように作られている。
--------------------------------------------------------------------
これのうち「結果が整数型で表現できなければ、その動作は未定義とする。」がこの場合は大事
LLP64LP64が未定義となるので注意
0623デフォルトの名無しさん
2011/02/12(土) 21:43:30int n = -1;
char* p = n;
この場合pが指すのどこ?
0624デフォルトの名無しさん
2011/02/12(土) 21:45:45英語と日本語が対応していない件について
0625デフォルトの名無しさん
2011/02/12(土) 21:45:47厳密にはアセンブラでやるべきことだが
「それだけのために?アホか」というのが主流
よーするに、自分がわかんねーことに上から目線でいたい奴に
逃げ道をあげる企画(≠規格)なんで、その趣旨を理解すべきってことさ
0626デフォルトの名無しさん
2011/02/12(土) 21:46:51知るか
JISの担当者に聞け
0627デフォルトの名無しさん
2011/02/12(土) 21:47:14惜しい
今問題なのは、整数をポインタ型に変換する話なので、その前の項目
0628デフォルトの名無しさん
2011/02/12(土) 21:48:00>>622が引用を間違えたことに気づけ
0629デフォルトの名無しさん
2011/02/12(土) 21:52:17悪い
じゃこれか
整数は任意のポインタ型に型変換できる。これまで規定されている場合を除き、
結果は処理系定義とし、正しく境界調整されていないかもしれず、被参照型の
実体を指していないかもしれず、トラップ表現であるかもしれない(56)。
この「被参照型の実体を指していないかもしれず」という部分が気になるな
0630デフォルトの名無しさん
2011/02/12(土) 21:54:17そう。
だから、
「整数は任意のポインタ型に型変換できる。」
以上。
結論が出たな。
0631デフォルトの名無しさん
2011/02/12(土) 21:55:01まあそういう事になるな
0632デフォルトの名無しさん
2011/02/12(土) 21:58:05さすがにJIS読めと言いたい
オーバフローはただの例で、それが生じなくても未定義であることには変わりない
0633デフォルトの名無しさん
2011/02/12(土) 21:59:48「結果は処理系定義」なので処理系のマニュアルを読みましょう。
0634デフォルトの名無しさん
2011/02/12(土) 22:00:32コンパイルエラー
0635デフォルトの名無しさん
2011/02/12(土) 22:01:50違うって。
foo() + bar() が規格として正しくても、結果は不定であることが変わらんように
結果が処理系定義にしかならんのだから、処理系依存にしかならんって話なんだって。
0636デフォルトの名無しさん
2011/02/12(土) 22:02:380637デフォルトの名無しさん
2011/02/12(土) 22:03:45http://www.jpcert.or.jp/sc-rules/c-int11-c.html
ここの例が分かりやすいかな
0638デフォルトの名無しさん
2011/02/12(土) 22:03:56おれも
>「整数は任意のポインタ型に型変換できる。」
は否定しとらんよ
最初から、処理系依存だって話をしてるだけだ
0639デフォルトの名無しさん
2011/02/12(土) 22:04:43川|川/ \|〜 プゥ〜ン
‖|‖ ◎---◎|〜 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
川川‖ 3 ヽ〜 < ショリケーイゾン ショリケーイゾン
川川 ∴)д(∴)〜 \_______________
川川 〜 /〜 カタカタカタ
川川‖ 〜 /‖ _____
川川川川___/‖ | | ̄ ̄\ \
/ \__| | | ̄ ̄|
/ \___ | | |__|
| \ |つ |__|__/ /
/  ̄ ̄ | ̄ ̄ ̄ ̄| 〔 ̄ ̄〕
| | ̄
0640デフォルトの名無しさん
2011/02/12(土) 22:07:00最初って、どれだ?
0641デフォルトの名無しさん
2011/02/12(土) 22:07:24JIS関係ないだろ、君がオーバーフローなんて的外れな例を出したから突っ込んだだけだ
0642デフォルトの名無しさん
2011/02/12(土) 22:09:06>>620が発端
0643デフォルトの名無しさん
2011/02/12(土) 22:13:40560が恥ずかしい人って事だな
0644デフォルトの名無しさん
2011/02/12(土) 22:15:28つまり、>>560ってことか?
であるならば、
=========================
559 名前:デフォルトの名無しさん [sage] 投稿日:2011/02/12(土) 19:33:56
整数型からポインタ型への変換は、規格で明確に許されている。
560 名前:デフォルトの名無しさん [sage] 投稿日:2011/02/12(土) 19:47:09
>>559
処理系依存だから、スレ違いであることは間違いない
=========================
>>559は「整数型からポインタ型への変換は、規格で明確に許されている。」と変換が規格上許されるかどうかの話をしている。
処理系依存の話なんてしてるのは>>560だけだ。
0645デフォルトの名無しさん
2011/02/12(土) 22:19:04なんで例ごときにそんなつっかかってるのか分からないけど
君の気分を損ねたのなら謝るよ
俺の言い方も悪かった
ただ、重要なのはそこじゃなくて未定義になるってけとが言いたかっただけなんだ
そこは分かって欲しい
0646デフォルトの名無しさん
2011/02/12(土) 22:19:25違う
処理系依存の話を始めたんじゃなくて、スレ違いじゃねーの話を始めたの
0647デフォルトの名無しさん
2011/02/12(土) 22:21:59なんで未定義動作からオーバフローを除外するの?
それ相応の理由があるなら説明した方がいいよ
0648デフォルトの名無しさん
2011/02/12(土) 22:25:44(1)整数型からポインタ型への変換ができることは、処理系依存ではない。
(2)処理系依存がスレ違いであるという根拠がない。
以上の2点で、>>560は筋違い。
0649デフォルトの名無しさん
2011/02/12(土) 22:26:00ォィ、書いた本人が引こうとしてるっぽいから
俺が飲み込んだことをアッサリとwww
0650デフォルトの名無しさん
2011/02/12(土) 22:26:17>>608
手元にJISしかないけど、そういうこと
--pでpがstrの一つ前を指した時点でオーバフローが生じてもいい
613 :デフォルトの名無しさん:2011/02/12(土) 21:26:58
>>611
オーバーフローが生じるケースってどんなだ?
俺には613の方が的外れに見える
0651デフォルトの名無しさん
2011/02/12(土) 22:28:20914 :デフォルトの名無しさん:2011/02/06(日) 17:00:59
そんな話は聞いたことないけどしたいならそうすればいいんじゃない?
それより、 i * 10 + 9 + ( i == 9 ) は意図したとおりに動かないね。
920 :デフォルトの名無しさん:2011/02/06(日) 17:34:11
問題ないように思える人はもう一度Cの規格票をよく読むんだ^^
923 :デフォルトの名無しさん:2011/02/06(日) 17:38:32
…というのも不親切なので答えをいうと
i == 9の部分はtrueの時1になることを想定しているけど
(90-100の階級幅だけ11あるので、ここだけ特別処理にしている)
Cの規格上はtrueは0以外の整数であればなんでもいいことになっているので
実装にっては「90-100」のような表示にならない可能性があるってことなのよ^^;
ここは
printf( "%d-%d %d人\n", i * 10, i == 9 ? 100 : i * 10 + 9, cv[ i ] );
のようにすべきでした。
924 :デフォルトの名無しさん:2011/02/06(日) 17:41:11
って、答えを書いているうちに即レスするんじゃない貴様ら^^
ちなみに、この「trueは0以外の整数」というのは
Cではけっこう重要な落とし穴なので初学者は覚えておくといいよ^^
929 :デフォルトの名無しさん:2011/02/06(日) 17:44:46
あれ?そうだっけ?すまんすまん^^ワラ
935 :デフォルトの名無しさん:2011/02/06(日) 17:49:37
こうして人は成長していくのであった^^;
0652デフォルトの名無しさん
2011/02/12(土) 22:28:470653デフォルトの名無しさん
2011/02/12(土) 22:31:33もう最後にしようぜ
(1)整数型からポインタ型への変換ができることは、処理系依存ではない。
>>596で答えてる
(2)処理系依存がスレ違いであるという根拠がない。
>>606で書いたとおり、最新の定義があるなら教えてくれ
0654デフォルトの名無しさん
2011/02/12(土) 22:35:34>>632
JIS関係ないだろ、君がオーバーフローなんて的外れな例を出したから突っ込んだだけだ
6.5.6 加減演算子
ポインタオペランド及びその結果の両方が同じ配列オブジェクトの要素,又は配列オブジェクトの最後の要素を
一つ越えたところを指している場合,演算によって,オーバフローを生じさせてはならない。
それ以外の場合,動作は未定義とする。
それほど的外れにも見えないけど
0655デフォルトの名無しさん
2011/02/12(土) 22:36:57> >>606で書いたとおり、最新の定義があるなら教えてくれ
君がスレ違いだと主張しているんだから
君が証明してやらねばいかんよw
0656デフォルトの名無しさん
2011/02/12(土) 22:37:49> (1)整数型からポインタ型への変換ができることは、処理系依存ではない。
> >>596で答えてる
答えているが、無関係。
整数型からポインタ型への変換ができることは、処理系依存ではない。
処理系依存なのは、変換の結果だ。
> (2)処理系依存がスレ違いであるという根拠がない。
> >>606で書いたとおり、最新の定義があるなら教えてくれ
>>1が最新の定義。
そこに処理系依存がスレ違いであるという定義はない。
0657デフォルトの名無しさん
2011/02/12(土) 22:37:54http://hibari.2ch.net/test/read.cgi/tech/1295273862/
あなたが解けないC言語/C++言語の問題を ◆QZaw55cn4c が有償で片付けるスレッドです。
・モリタポ(http://moritapo.jp/)により決済を行います。
・投稿にあたっては、トリップを使ってください。トリップがなければ決済の確認ができません。
◆QZaw55cn4c は、トリップ以外の質問者の情報を知ることができませんので安心です。
【回答掲示までの流れ】
1. 質問者がトリップを使って問題を投稿する。
2. ◆QZaw55cn4c が回答できる問題があれば、◆QZaw55cn4c が受諾レスを行う。
受諾レスには決済日を基点とした回答猶予期間が示される。
3. 質問者が ◆QZaw55cn4c にモリタポを進呈する。
進呈の際には、問題を投稿したときに表示されたトリップ(パスワードではない)をメッセージに記入する。
4. モリタポの進呈を確認したら、◆QZaw55cn4c は回答を掲示する。(http://codepad.org/, http://ideone.com を使用します。)
【料金】
・一問あたり 500円(5000モリタポ・手数料込み)です。
・一つのレスに記述できる内容を一問とします。アップローダーを使用してもかまいません。
・◆QZaw55cn4c が受諾レスを行い、受諾レスに回答期日を示したにも関わらず、回答期日に間に合わなかった場合には、モリタポを返還します。
それ以外の場合にはモリタポの返還はいたしません。
【修正】
・◆QZaw55cn4c が一度示した回答に対しては、明白な錯誤があった場合を除いては、◆QZaw55cn4c は修正は基本的に行いません。
ただし、最大限ご希望に応じたいと考えていますので、修正希望があれば、トリップを使用して投稿してください。
修正希望回数は、最大3回を目安としてください。3回を超えて修正を希望する場合は、新規に質問を投稿しなおしてください。
いずれも場合も、修正に応じることを保障するものではありません。
0658デフォルトの名無しさん
2011/02/12(土) 22:39:34そもそも未定義になるって話もよく判らんのよ
char a[] = "abc";
char* x;
x = a;
x--;
x の値は a のアドレス -1 でそのアドレスに何が有るかは不定だ、これは処理系依存ではない
では未定義という言葉は何処に適用するんだ?
0659デフォルトの名無しさん
2011/02/12(土) 22:42:29>>654
0660デフォルトの名無しさん
2011/02/12(土) 22:43:13x--; とすると鼻から悪魔が出るか、はたまたHDDがフォーマットされるかもしれないよって意味じゃね?
0661デフォルトの名無しさん
2011/02/12(土) 22:43:16アクセスしたときの動作だよ
馬鹿じゃないの
0662デフォルトの名無しさん
2011/02/12(土) 22:44:280663デフォルトの名無しさん
2011/02/12(土) 22:47:08その 6.5.6 って意味がよく判らん記述だなぁ、解りやすく解説できる?
そもオーバーフローとは加算・乗算によって桁あふれを起こす場合だろ
減算によって引き起こされるのはアンダーフローって呼ぶのでは?
0664デフォルトの名無しさん
2011/02/12(土) 22:47:49未定義ってのは、あなた(コンパイラ作る人)の自由にしてね、ってこと。
0665デフォルトの名無しさん
2011/02/12(土) 22:48:04>君がスレ違いだと主張しているんだから
>君が証明してやらねばいかんよw
知らんよ。
間違ってれば、間違ってると指摘すれば良いだけ
それが2chだろ?
>>656
>答えているが、無関係。
>整数型からポインタ型への変換ができることは、処理系依存ではない。
>処理系依存なのは、変換の結果だ。
どうぞ結果を伴わない処理でもやっててください
>>>1が最新の定義。
>そこに処理系依存がスレ違いであるという定義はない。
それは知らんかったよ
FAQも消えてるし、甘くなったのかな?
0666デフォルトの名無しさん
2011/02/12(土) 22:49:19抜き出しだから分かりにくいのはごめん
JISの該当箇所を読んでも分からないのか?
あとアンダーフローについての認識は間違ってるよ
0667デフォルトの名無しさん
2011/02/12(土) 22:52:16>あなた(コンパイラ作る人)の自由にしてね、ってこと。
それ、処理系定義
未定義は、それ以前の問題で考慮する必要すらないこと
0668デフォルトの名無しさん
2011/02/12(土) 22:55:30未定義
処理系定義
文字通りそのままの意味だよね
0669デフォルトの名無しさん
2011/02/12(土) 22:56:34JISが何処に有るかも知らんので該当箇所を読んだことも無いよ、何処に有るか教えて
確かにアンダーフローの認識は誤ってたな、減算によって生じるのはなんて呼ぶのが正しいんだろ
0670デフォルトの名無しさん
2011/02/12(土) 22:56:37>>654
その 6.5.6 って意味がよく判らん記述だなぁ、解りやすく解説できる?
そもオーバーフローとは加算・乗算によって桁あふれを起こす場合だろ
減算によって引き起こされるのはアンダーフローって呼ぶのでは?
釣りだろwwww
0671デフォルトの名無しさん
2011/02/12(土) 22:58:28アクセスした時に未定義になるのは、初期化してない領域にアクセスした場合、
>>658の未定義は、確保してない領域のポインタを作った場合の話
0672デフォルトの名無しさん
2011/02/12(土) 22:59:15>JISが何処に有るかも知らんので該当箇所を読んだことも無いよ、何処に有るか教えて
JISのページ行けばPDFで見れるよ
>確かにアンダーフローの認識は誤ってたな、減算によって生じるのはなんて呼ぶのが正しいんだろ
減算でもオーバーフロー
0673デフォルトの名無しさん
2011/02/12(土) 23:03:04おそらくキャリーとボローのことがいいたいんだろうけど
・・・痛いなw
0674デフォルトの名無しさん
2011/02/12(土) 23:05:10違うよ。
処理系定義は「実装はあなたが決めてね」だが、何らかの結果を伴う必要がある「決め事」である。
未定義は考慮してもしなくてもいい、という意味。
0675デフォルトの名無しさん
2011/02/12(土) 23:07:42見られないな、chrome ではダメなんだろうか、まぁどうでも良い話だから手間かけてまで読もうとも思わんけどね
0676デフォルトの名無しさん
2011/02/12(土) 23:09:47Wikipediaですまんが
http://ja.wikipedia.org/wiki/%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0#.E6.B5.AE.E5.8B.95.E5.B0.8F.E6.95.B0.E7.82.B9.E6.95.B0.E3.81.AE.E7.B2.BE.E5.BA.A6
0677デフォルトの名無しさん
2011/02/12(土) 23:12:15どうでも良い割には食いつきよかったね^^
0678デフォルトの名無しさん
2011/02/12(土) 23:14:28ポインタオペランド(a[i])及びその結果(a+i)の両方が
同じ配列オブジェクトの要素(0=<i,i<(sizeof(a)/sizeof(a[0]))),
又は配列オブジェクトの最後の要素を 一つ越えたところを指している場合,
(i==(sizeof(a)/sizeof(a[0]))演算によって,
オーバフローを生じさせてはならない。
それ以外の場合,動作は未定義とする。
0679デフォルトの名無しさん
2011/02/12(土) 23:15:31そうか残念、でもCFAQでこんなの見つけた
6.17:
ほらこのトリック。下のように書けば
int realarray[10]; int *array = &realarray[-1];
"array"は1始まりの配列のように使える。
A:
このテクニックは魅力的だが(NUMERICAL RECIPES IN Cの古い版でも使われている)、
厳密にいえばC言語の規格に従っていない。ポインター演算は、一度に割り振られた領域と、
仮想的な"終端"を越えた1つめの要素にだけ定義されていて、それ以外では未定義である。
このことは、たとえポインターを参照に使っていないとしてもあてはまる。
上のコードはオフセットを引いた時に、とんでもないアドレスを作り出して(たぶんアドレスが
"ぐるっと回って"メモリセグメントの先頭を越えて他のセグメントと重なるからだろう)うまくいかなくなる可能性がある。
References:
K&R2 Sec. 5.3 p. 100, Sec. 5.4 pp. 102-3, Sec. A7.7 pp. 205-6; ANSI Sec. 3.3.6; ISO Sec. 6.3.6; Rationale Sec. 3.2.2.3.
0680デフォルトの名無しさん
2011/02/12(土) 23:21:05ポインタオペランドはaじゃない?
前後見てないから何だけど
0681デフォルトの名無しさん
2011/02/12(土) 23:28:14「減算で未定義動作の例がオーバーフローとか的外れワロスw」って騒いでただけかw
0682デフォルトの名無しさん
2011/02/12(土) 23:30:170683デフォルトの名無しさん
2011/02/12(土) 23:30:58いらんこと考えすぎるのも分かる気がする
0684デフォルトの名無しさん
2011/02/12(土) 23:33:55>>611の、
> --pでpがstrの一つ前を指した時点で
これがすでにありえないコードなんだけど。
>>612で終わらなかったことに驚いている。
0685デフォルトの名無しさん
2011/02/12(土) 23:35:320686デフォルトの名無しさん
2011/02/12(土) 23:36:29ここではaって見た方が意味が分かりやすいけど、全体を通してみると
ポインタオペランドって言葉が、ポインタに対する演算結果と言う意味で
使われているので多分a[i]で合ってると思う…
あとは、他の人にまかせた
ノ
0687デフォルトの名無しさん
2011/02/12(土) 23:37:26>これがすでにありえないコードなんだけど。
なんで?
0688デフォルトの名無しさん
2011/02/12(土) 23:39:26ループ抜けるときのpの値はstr-1なんだし
0689デフォルトの名無しさん
2011/02/12(土) 23:41:11「ループを抜けた時点で」←ダウト
配列の先頭よりも前を指すポインタと比較して、正しい結果が得られる保証がないため、ループを抜けないかもしれない
0690デフォルトの名無しさん
2011/02/12(土) 23:46:44「配列の先頭よりも前を指すポインタと比較して」←ダウト
未定義の処理なので、比較すらされないかもしれない
0691デフォルトの名無しさん
2011/02/12(土) 23:49:31それは知らなかった。
初期化されていないポインタとか大丈夫なの
0692デフォルトの名無しさん
2011/02/12(土) 23:52:48>初期化されていないポインタとか大丈夫なの
不定値になるから大丈夫
そもそも「意図的な演算によって」不正なアドレスを生成するのと初期化で勝手に値が入るのは別
0693デフォルトの名無しさん
2011/02/12(土) 23:54:31>え、配列の先頭よりも前を指すポインタを生んだ時点で未定義なの?
違います。
演算結果が、配列の先頭よりも前を指すポインタを生んだ時点で未定義になります
初期化されてないポインタは演算されてないので、無問題です。
0694デフォルトの名無しさん
2011/02/12(土) 23:55:29不正なアドレスをポインタに代入することが未定義だってことなんだよね?
ついに規格を読む日が来たか
0696692
2011/02/12(土) 23:59:56>>693が書いてる通りで、「演算によって有効でないアドレスを生成する」と未定義の動作を引き起こす
んで、配列に関する「有効なアドレス」は「要素を指すアドレス」か「最後の要素を一つ越えたところ」
初期化はそもそも関係ない話
0697デフォルトの名無しさん
2011/02/13(日) 00:01:00初期化されてない変数等に対するアクセスと、ごっちゃになってない?
規格上のポインタに対する操作は厳しい
0698694
2011/02/13(日) 00:03:59つまり、C FAQの
> ポインター演算は、一度に割り振られた領域と、
> 仮想的な"終端"を越えた1つめの要素にだけ定義されていて、それ以外では未定義である。
> このことは、たとえポインターを参照に使っていないとしてもあてはまる。
> 上のコードはオフセットを引いた時に、とんでもないアドレスを作り出して
というくだりは、
オフセットを引いたときは未定義であるため、とんでもないアドレスを作り出す可能性があり
ということ?
>>697
そこはごっちゃになってないです
0699デフォルトの名無しさん
2011/02/13(日) 00:07:26>オフセットを引いたときは未定義であるため、
未定義なのでアドレスを作り終える前に鼻から悪魔が出てくるかも知れない
0700デフォルトの名無しさん
2011/02/13(日) 00:09:58JIS規格読んで。上の方にある引用でもいいから。未定義と書いてあるから未定義なの。
CFAQは一例としてそういうアーキテクチャを挙げているだけ。
っていうか未定義の原因をあれこれ考えるのは考えすぎだよ。
0701694
2011/02/13(日) 00:15:17ごめん、今引用されてることに気づかず、ちょうど6.5.6に到達してたところでした。
未定義になることを理解しました。
未定義の原因なんてものは考えてないです。なにをすることが未定義なのかを考えてました。
スレ汚しすみませんでしたー
0702デフォルトの名無しさん
2011/02/13(日) 00:16:27あぁ、純粋に普通の質問だったのか
きつく言い過ぎたよ、ごめんな
0703デフォルトの名無しさん
2011/02/13(日) 00:44:06それに続く比較の効果は未定義とする
比較されるかどうかもわからないのにわざわざ書いてるんだなぁ。
0704デフォルトの名無しさん
2011/02/13(日) 01:15:43???
0705デフォルトの名無しさん
2011/02/13(日) 01:58:170706デフォルトの名無しさん
2011/02/13(日) 04:14:48これを実行しても、「test」に何もかかれないのですが、
なぜでしょうか?
0707デフォルトの名無しさん
2011/02/13(日) 04:18:410708デフォルトの名無しさん
2011/02/13(日) 04:20:27何も起こりません・・・。
0709デフォルトの名無しさん
2011/02/13(日) 04:26:000710デフォルトの名無しさん
2011/02/13(日) 04:27:28テキストの名前は「test」なのか、「test.txt」なのかどっちでしょうか?
0711デフォルトの名無しさん
2011/02/13(日) 04:30:110712デフォルトの名無しさん
2011/02/13(日) 04:50:30あ、ありがとうございます!
できました^^
0713デフォルトの名無しさん
2011/02/13(日) 05:15:410714デフォルトの名無しさん
2011/02/13(日) 05:24:45include <stdio.h>
int main(void)
{
int vx, vy;
printf("国語\n数学\n英語");
printf("整数vx:"); scanf("%d",&vx);
printf("整数vy:"); scanf("%d",&vy);
printf("vx + vy = %d/n", vx + vy);
printf("vx - vy = %d/n", vx - vy);
printf("vx * vy = %d/n", vx * vy);
printf("vx / vy = %d/n", vx / vy);
printf("vx %% vy = %d/n", vx % vy);
return (0);
}
読み込んだ整数の和 差 積 商 剰余を表示するプログラムのはずなのですが、
うまく動作しません。 指摘お願いします。
int main(void)
{
int vx, vy;
printf("国語\n数学\n英語");
printf("整数vx:"); scanf("%d",&vx);
printf("整数vy:"); scanf("%d",&vy);
printf("vx + vy = %d/n", vx + vy);
printf("vx - vy = %d/n", vx - vy);
printf("vx * vy = %d/n", vx * vy);
printf("vx / vy = %d/n", vx / vy);
printf("vx %% vy = %d/n", vx % vy);
return (0);
}
読み込んだ整数の和 差 積 商 剰余を表示するプログラムがうまく動作しません
指摘お願いします。
0717デフォルトの名無しさん
2011/02/13(日) 13:27:38○ \n
http://hibari.2ch.net/test/read.cgi/tech/1295273862/87-88
http://hibari.2ch.net/test/read.cgi/tech/1295273862/110-111
http://hibari.2ch.net/test/read.cgi/tech/1295273862/127-128
http://hibari.2ch.net/test/read.cgi/tech/1295273862/167-168
ここで燃料投下
http://hibari.2ch.net/test/read.cgi/tech/1295273862/169
釣果
http://hibari.2ch.net/test/read.cgi/tech/1295273862/170-186
http://hibari.2ch.net/test/read.cgi/tech/1296984829/453-469
さらに燃料追加
http://hibari.2ch.net/test/read.cgi/tech/1296984829/472,476
釣果
http://hibari.2ch.net/test/read.cgi/tech/1296984829/477-480,482-517,523,524,
総括
http://www.youtube.com/watch?v=_eA1l0vQFxE
int main(void)
{
int vx, vy;
printf("整数vx:"); scanf("%d",&vx);
printf("整数vy:"); scanf("%d",&vy);
printf("vx + vy = %d\n", vx + vy);
printf("vx - vy = %d\n", vx - vy);
printf("vx * vy = %d\n", vx * vy);
printf("vx / vy = %d\n", vx / vy);
printf("vx %% vy = %d\n", vx % vy);
return (0);
}
これでもうまくいきません;
0720デフォルトの名無しさん
2011/02/13(日) 14:12:290721デフォルトの名無しさん
2011/02/13(日) 14:14:21#include <stdio.h>
0722デフォルトの名無しさん
2011/02/13(日) 14:54:47よう人格障害
事件を起こす前に精神科逝け
0723デフォルトの名無しさん
2011/02/13(日) 15:00:370724デフォルトの名無しさん
2011/02/13(日) 15:03:48言いい放題って日本語じゃねーだろw
0725デフォルトの名無しさん
2011/02/13(日) 15:15:560726デフォルトの名無しさん
2011/02/13(日) 15:23:30超キチガイ、それがどうスレのC言語に関係はるんだ
関係ないことを書いてスレを荒らしまくろうってしてるんだろ
さすが超キチガイ、荒らすことしかしないんだな
0727デフォルトの名無しさん
2011/02/13(日) 15:26:230728デフォルトの名無しさん
2011/02/13(日) 17:28:56友達は、明快C言語入門編を一週間で読破、次の一週間で中級編も読破しました。
でその次の二週間でアルゴリズムなどの入門書を読破していました。
今ではコンソールプログラムの基礎的なものなら大抵書けるようになってます。
結局一ヶ月でC言語きわめてますよね?これって普通ですか?
0729デフォルトの名無しさん
2011/02/13(日) 17:34:06>コンソールプログラムの基礎的なもの
これがおみくじプログラムとかテストの平均点を計算するプログラムとかなら
一ヶ月目としては普通じゃないの。
bc より高機能な電卓だったり、XML のパーサなんかだったらちょっと凄い。
0730デフォルトの名無しさん
2011/02/13(日) 17:35:43#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
char *str[] = {"普通","早い",遅い"}
0731デフォルトの名無しさん
2011/02/13(日) 17:37:410732デフォルトの名無しさん
2011/02/13(日) 17:47:11プログラミングの分野なんて様々だから、半年もすれば得意分野・専門分野に別れて、
単純に能力の優劣を比較出来ないようになるもんだ。
0733デフォルトの名無しさん
2011/02/13(日) 18:02:54なんでお前スレ荒らしてるの?w
そんなに悔しいの?w
0734デフォルトの名無しさん
2011/02/13(日) 18:06:06専門用語が読めなくて、一ヶ月を待たずして挫折したなあ
参考書高かったのに・・・
0735デフォルトの名無しさん
2011/02/13(日) 18:26:210736デフォルトの名無しさん
2011/02/13(日) 18:27:14int dainyu(int);
int main()
{
int a;
dainyu(a);
printf("aの値は%d",a);
return 0;
}
int dainyu(int)
{
int a;
scanf("a--%d",&a);
return 0;
}
sample.c(12): error C2055: 型リストではなく、仮パラメーター リストが必要です。
ってエラーが出るんですけど関数からaの中身変えるにはどうすればいいんでしょうか?
0737デフォルトの名無しさん
2011/02/13(日) 18:34:10>{
>int a;
>scanf("a--%d",&a);
>return 0;
>}
ひどすぎるw
0738デフォルトの名無しさん
2011/02/13(日) 18:36:37必要最低限の修正で
#include<stdio.h>
int dainyu(int *a);
int main()
{
int a;
dainyu(&a);
printf("aの値は%d",a);
return 0;
}
int dainyu(int *a)
{
scanf("a--%d",a);
return 0;
}
0739736
2011/02/13(日) 18:48:34#include<stdio.h>
int dainyu(void);
int main(void)
{
int a;
a = dainyu();
printf("aの値は%d",a);
return 0;
}
int dainyu()
{
int a;
scanf("a--%d",&a);
return return a;
}
0740デフォルトの名無しさん
2011/02/13(日) 18:52:49ありがとうございました、参考書読み直します
>>739
どなたですか?最後のreturnに式が必要ですとエラーが出ました
0741736、740
2011/02/13(日) 18:56:27勉強になります
0742デフォルトの名無しさん
2011/02/13(日) 22:41:02id = (year*100000) + (month*1000) + (day*10) + (jikan-8)
特定の入力した年月日と時間を関数化し、そのreturnとして、IDを発行することになりました。
時間は18時未満限定なので、これで通用するのですが、関数化する事になって復元化が必要になりました。
呼び出しも関数からなのですが、復元する方法、あるいは分けて表示する方法、
year 年 month 月 day 日 の jikan 時間としたいのですが、いい手はないでしょうか。
単純に割っていくことも考えましたが、いまいちでした。
参考になるような計算式や言葉などありましたら、よろしくお願いします。
0743デフォルトの名無しさん
2011/02/13(日) 22:43:320744デフォルトの名無しさん
2011/02/13(日) 22:55:36かける数値は素数がいいよ
0745デフォルトの名無しさん
2011/02/13(日) 22:57:37年4桁
月2桁
日2桁
時2桁
分2桁
秒2桁
合計14桁なのでintに収まらない。
こういうのは構造体を使うとラク。
0746デフォルトの名無しさん
2011/02/13(日) 23:01:03ああごめん、分秒までは要らないのか。
だったら大きい方から商と剰余を求めていけば出てくるよ。
0747 ◆QZaw55cn4c
2011/02/13(日) 23:02:07http://codepad.org/p34BxNub
>>745
そうですね。見抜けませんでした。
0748デフォルトの名無しさん
2011/02/13(日) 23:05:33struct hoge{
0749デフォルトの名無しさん
2011/02/13(日) 23:07:14struct hoge{
uint 64_t id;
union{
uint16_t y;
uint16_t m;
uint16_t d;
uint16_t h;
}u;
};
0750デフォルトの名無しさん
2011/02/13(日) 23:23:44'@@'とか、文字を二つ以上格納したいのですが、
切り捨てられました
とか言って格納できません。
何かj方法はありませんか?
0751デフォルトの名無しさん
2011/02/13(日) 23:27:06そんなに時間がたっていないのにありがとうございます。
構造体か、余りを使うかはこれから検証します。本当にありがとうございました。
0752デフォルトの名無しさん
2011/02/13(日) 23:39:15復元したいんだからダメじゃね?更に復元以前にハッシュ値が衝突しない保障はある?
素数が良いとか言う前にハッシュ関数とかMD5が何者か勉強しなおせwww
0753デフォルトの名無しさん
2011/02/13(日) 23:39:46秒までいるなんて書いてない。
8時 <= jikan < 18時なんだろ
0754デフォルトの名無しさん
2011/02/13(日) 23:41:01文字列(文字配列)に入れてください。
0755デフォルトの名無しさん
2011/02/13(日) 23:42:30もうチョットやりたい事とソースを晒したほうがいいと思う。
今のままだとあなたが期待していないことまで含めて100通りの答えが出てきそう…
0756デフォルトの名無しさん
2011/02/13(日) 23:58:360757デフォルトの名無しさん
2011/02/14(月) 00:10:250758デフォルトの名無しさん
2011/02/14(月) 00:58:280759デフォルトの名無しさん
2011/02/14(月) 01:09:530760デフォルトの名無しさん
2011/02/14(月) 01:20:49減算ではオーバーフローもアンダーフローも起きるが
デクリメントではオーバーフローなら起きるけどアンダーフローは起きない
0761デフォルトの名無しさん
2011/02/14(月) 01:57:480762デフォルトの名無しさん
2011/02/14(月) 02:05:38配列の前だろうがアクセスしなければ無問題
0763デフォルトの名無しさん
2011/02/14(月) 02:06:48てか何で今になってまたこの話を?
0764デフォルトの名無しさん
2011/02/14(月) 02:15:38だったらポインタを減算してオーバーフローする例を出してみろよ
的外れなこと言ってんじゃねーぞw
0765デフォルトの名無しさん
2011/02/14(月) 02:20:260766デフォルトの名無しさん
2011/02/14(月) 02:23:290767デフォルトの名無しさん
2011/02/14(月) 02:39:41なんでその規格を敵に回すんだろう?
学生時代の車輪作成のクセが抜けないのかな
0768デフォルトの名無しさん
2011/02/14(月) 02:42:23規格外の男を演じたいんだよ
0769デフォルトの名無しさん
2011/02/14(月) 02:42:35nearモードの無理からfarモデルでたまたま配列の先頭がセグメントゼロ番地とかさ
0770デフォルトの名無しさん
2011/02/14(月) 02:50:470771デフォルトの名無しさん
2011/02/14(月) 02:56:47中二病じゃん
0772デフォルトの名無しさん
2011/02/14(月) 03:02:37p = (int*)((int)a - 1);
これって未定義?
0773デフォルトの名無しさん
2011/02/14(月) 03:05:55整数型からポインタ型への変換の話再来かw
0774デフォルトの名無しさん
2011/02/14(月) 03:10:20p = (int*)((int)a - sizeof(int));
のほうがいいんじゃね?
0775デフォルトの名無しさん
2011/02/14(月) 03:12:41お前まだそれ根にもってたのかw
オーバーフローにそこまで噛み付いてるのお前だけだぞw
0776デフォルトの名無しさん
2011/02/14(月) 03:46:59俺の下半身のポインタは規格外だぜ?
0777デフォルトの名無しさん
2011/02/14(月) 03:54:49http://codepad.org/00rlXrm3
遅れてすいません
@@と入れて、
出てくるのは@のみです
@@を格納させたいです
0778デフォルトの名無しさん
2011/02/14(月) 03:54:56ポインタの指す先はNULLNULL
0779デフォルトの名無しさん
2011/02/14(月) 03:57:16初期化時を除いて、文字列を代入することはできない。
sprintf()かstrcpy()を使うべし。
0780デフォルトの名無しさん
2011/02/14(月) 04:13:210781デフォルトの名無しさん
2011/02/14(月) 04:14:18ありがとうございます!
調べてみます
0782デフォルトの名無しさん
2011/02/14(月) 05:12:240783デフォルトの名無しさん
2011/02/14(月) 05:32:26あなたそれ何処で知りました?
機密情報ですよ
みだりに口にすると射殺されますよ
0784デフォルトの名無しさん
2011/02/14(月) 05:34:17面白いねー
0785デフォルトの名無しさん
2011/02/14(月) 05:38:07我慢できなかったんだねw
0786デフォルトの名無しさん
2011/02/14(月) 05:39:560787デフォルトの名無しさん
2011/02/14(月) 05:40:37>>2
0788デフォルトの名無しさん
2011/02/14(月) 05:44:330789デフォルトの名無しさん
2011/02/14(月) 05:53:21なんだか大変そうだね
頑張って
0790デフォルトの名無しさん
2011/02/14(月) 06:14:23初期化してない変数へのアクセスってsizeofでも未定義なの?
typedef xxx foo;
foo *p;
sizeof( *p ); /* pは初期化してない */
0791デフォルトの名無しさん
2011/02/14(月) 06:21:00sizeof で変数にアクセスできるならそうだろうね。
0792デフォルトの名無しさん
2011/02/14(月) 06:24:13>>786
なんだか大変そうだね
頑張って
0793デフォルトの名無しさん
2011/02/14(月) 06:25:360794デフォルトの名無しさん
2011/02/14(月) 06:26:38頑張って
↓
0795デフォルトの名無しさん
2011/02/14(月) 06:29:51#define MAX 10
int hoge[MAX];
int i;
for( i=0; i<(sizeof(hoge)/sizeof(hoge[0])); i++) hoeg[i] = i;
0796デフォルトの名無しさん
2011/02/14(月) 06:30:270797デフォルトの名無しさん
2011/02/14(月) 06:36:47sizeof(struct foo);
と同じで処理系依存
>>792-794
仲良しだね
0798 ◆QZaw55cn4c
2011/02/14(月) 06:37:42sizeof のなかで *p をみているわけではないので、未定義ではなく、ちゃんと値が返ります。
#Administrator@KORP ~
$ cat noninit.01.c
#include <stdio.h>
typedef int foo;
int main() {
foo *p;
printf("sizeof(*p)=%d\n", sizeof(*p));
return 0;
}
/* end */
#Administrator@KORP ~
$ bcc32 noninit.01.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
noninit.01.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
#Administrator@KORP ~
$ ./a.exe
sizeof(*p)=4
#Administrator@KORP ~
0799デフォルトの名無しさん
2011/02/14(月) 06:37:570800デフォルトの名無しさん
2011/02/14(月) 06:38:34氏ね
0801 ◆QZaw55cn4c
2011/02/14(月) 06:42:49今までの議論に例を出して異議を唱えているつもりです。
0802デフォルトの名無しさん
2011/02/14(月) 06:43:29お前は相変わらず糞だな
0803デフォルトの名無しさん
2011/02/14(月) 06:48:08sizeofは基本的にコンパイル時に評価されると思ってたから、
何をしても、アクセスしないだろうってタカを括ってたんだが
良く考えたらC99で可変サイズが可能になったよね?
で、それに伴って、実行時に評価されることもあるよね?
実装を考えれば安全だとは思うのだが、規格上でも、本当に安全?
int max=5;
int hoge[max]; /* C99 */
for( i=0; i<(sizeof(hoge)/sizeof(hoge[0])); i++) hoeg[i] = i;
0804 ◆QZaw55cn4c
2011/02/14(月) 06:48:42処理系依存とは変ですね。sizeof(*p) や sizeof(struct foo) がどうして処理系依存になるのでしょうか。
sizeof(int*) や sizeof(struct foo) の値自体は処理系依存としても、sizeof 演算子を適用して結果を出すという動作が行われることは間違いないと思いますが。
0805 ◆QZaw55cn4c
2011/02/14(月) 06:50:09なるほど、
>C99で可変サイズが可能になった
ということですか。
0806デフォルトの名無しさん
2011/02/14(月) 06:50:38>sizeof(struct foo);
>と同じで処理系依存
んなわけないだろ。
返る値の話じゃないよ。
0807デフォルトの名無しさん
2011/02/14(月) 06:53:36値についてね
未定義でないのは明白なのではしょった
0808デフォルトの名無しさん
2011/02/14(月) 06:54:57後出しで可変長出して偉そうに吠えてんじゃねーよw
0809デフォルトの名無しさん
2011/02/14(月) 06:57:580810デフォルトの名無しさん
2011/02/14(月) 06:58:04>>803が未定義だと、突き詰めて考えれば>>790も未定義なるから、小出しに聞いただけ
で、結論を教えてプリーズ
0811デフォルトの名無しさん
2011/02/14(月) 06:59:210813デフォルトの名無しさん
2011/02/14(月) 07:01:590814デフォルトの名無しさん
2011/02/14(月) 07:03:30ネタを小出しに脹らませていけば、誰か調べてくれるかなと…
みんな興味あるでしょ?
0815デフォルトの名無しさん
2011/02/14(月) 07:05:22みんな知ってます
0816デフォルトの名無しさん
2011/02/14(月) 07:06:36氏ね
0817デフォルトの名無しさん
2011/02/14(月) 07:08:32まぁ、そう言わずに教えてくれ
手元に規格書なくて、JISも見れんのよ
0818デフォルトの名無しさん
2011/02/14(月) 07:08:33ならねーよ馬鹿じゃねーの
そもそも>>790は可変長配列関係ないし、変数へのアクセスと型のサイズと静的動的がごっちゃになってるよ
0819デフォルトの名無しさん
2011/02/14(月) 07:10:550820デフォルトの名無しさん
2011/02/14(月) 07:13:000821デフォルトの名無しさん
2011/02/14(月) 07:15:58◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0823デフォルトの名無しさん
2011/02/14(月) 07:22:03foo *p;//未初期化のポ゚インタ
sizeof(*p);//アクセスによって未定義動作を引き起こす
0824デフォルトの名無しさん
2011/02/14(月) 07:27:01お前モナー
0825デフォルトの名無しさん
2011/02/14(月) 07:28:070826デフォルトの名無しさん
2011/02/14(月) 07:28:53ちゃんとトリップ付けて書き込めよクズ
0827デフォルトの名無しさん
2011/02/14(月) 07:38:31typedef xxx foo; /* sizeof(型名) を使いたくない */
foo s, *p;
p = &s;
sizeof( *p ); /* *pは初期化してない */
あげられている例でいえば、どちらも未定義でも処理系依存でもないですよ。
#Administrator@KORP ~/2ch
$ cat noninit.02.c
#include <stdio.h>
int main() {
long long int *p;
printf("sizeof(p)=%d\n", sizeof(p));
printf("sizeof(*p)=%d\n", sizeof(*p));
return 0;
}
#Administrator@KORP ~/2ch
$ gcc -Wall noninit.02.c
#Administrator@KORP ~/2ch
$ ./a.exe
sizeof(p)=4
sizeof(*p)=8
#Administrator@KORP ~/2ch
$
0829デフォルトの名無しさん
2011/02/14(月) 07:42:190830デフォルトの名無しさん
2011/02/14(月) 07:49:57sizeof(a);//aは初期化されてないため未定義動作
0831デフォルトの名無しさん
2011/02/14(月) 07:53:13それ本当に未定義だったら嫌だな…
0832デフォルトの名無しさん
2011/02/14(月) 07:56:220833デフォルトの名無しさん
2011/02/14(月) 08:06:58xxx次第でしょ
typedef struct hoge{...};
typedef struct hoge xxx;
とかだったら処理系依存だし。
0834デフォルトの名無しさん
2011/02/14(月) 08:13:040835デフォルトの名無しさん
2011/02/14(月) 08:29:41typedef xxx foo; /* sizeof(型名) を使いたくない */
foo s, *p;
p = &s;
1; /* 1は初期化してない */
2; /* 2は初期化してない */
3; /* 3は初期化してない */
4; /* 4は初期化してない */
0836デフォルトの名無しさん
2011/02/14(月) 16:10:19プログラムがどの様にメモリ上に展開され、動作するか、
ヒープやスタックがどのように確保されるか、レジスタについて
などが解説されている本のオススメ教えてください。
Cの本にはプログラムがどう展開されるかとか載ってないし、
アセンブラの本にはヒープとかについてが載ってない。。
0837デフォルトの名無しさん
2011/02/14(月) 16:57:230838デフォルトの名無しさん
2011/02/14(月) 17:23:520839デフォルトの名無しさん
2011/02/14(月) 18:04:10となっている配列からeだけを除去して、
w[5] = 'a,b,c,d'
にすることが出来ますか?
0840デフォルトの名無しさん
2011/02/14(月) 18:09:010841デフォルトの名無しさん
2011/02/14(月) 18:12:350842デフォルトの名無しさん
2011/02/14(月) 18:13:54どうやってしますか?
0843デフォルトの名無しさん
2011/02/14(月) 18:14:590844デフォルトの名無しさん
2011/02/14(月) 18:18:31すみません
わかりやすいように例をあげただけです。
0845デフォルトの名無しさん
2011/02/14(月) 18:19:17では言い換えましょう。
そもそも構文エラーです。
0846デフォルトの名無しさん
2011/02/14(月) 18:22:24char w[5] = {'a,b,c,d,e'}
こうですか?
0847デフォルトの名無しさん
2011/02/14(月) 18:25:340848デフォルトの名無しさん
2011/02/14(月) 18:29:36構文エラーです。
0849デフォルトの名無しさん
2011/02/14(月) 18:30:06なるほど!
ありがとうございました!
0850デフォルトの名無しさん
2011/02/14(月) 18:34:57あなたは神ですね!
他のクズどもとは違いますね
0851デフォルトの名無しさん
2011/02/14(月) 18:36:220852デフォルトの名無しさん
2011/02/14(月) 18:36:48MS-DOS 時代は C とアセンブラをリンクしたりすることも多く、書籍も多かったのですが、たとえばWindows 上でアセンブラ由来のオブジェクトをリンクするような
書籍はみたことがないですね。cl にソースを吐かせて眺めることから着手するしかないかなあ。
0854デフォルトの名無しさん
2011/02/14(月) 18:51:46と無職の中年ジジイが申しております
使ってるソフトも多分全部割れ
0855デフォルトの名無しさん
2011/02/14(月) 18:54:190856デフォルトの名無しさん
2011/02/14(月) 19:09:45コンパイラ、アセンブラ、リンカ
0857デフォルトの名無しさん
2011/02/14(月) 19:19:33Cの痛いところを突かれて土方発狂ww
0858デフォルトの名無しさん
2011/02/14(月) 19:21:530859デフォルトの名無しさん
2011/02/14(月) 19:26:410860デフォルトの名無しさん
2011/02/14(月) 19:29:180861デフォルトの名無しさん
2011/02/14(月) 19:43:410862デフォルトの名無しさん
2011/02/14(月) 19:44:38おk。環境にもよるけど、manを読めればますますおk。
0863836
2011/02/14(月) 20:06:46ありがとう
0864836
2011/02/14(月) 20:09:12ヒープは低位メモリから、スタックは高位メモリから
確保されるらしいです。
そのあたりの違いを知りたくて。
0865デフォルトの名無しさん
2011/02/14(月) 21:23:11メモリの確保方法はコンパイラを作る人の自由
0866デフォルトの名無しさん
2011/02/14(月) 21:28:24heap grows up & stack grows down になるよう作れば
そのようになるってだけの話。
アーキテクチャのマニュアルに必ず明記されてるので
それを確認すればいいよ。
0867デフォルトの名無しさん
2011/02/14(月) 22:01:00いや、それ未定義だったら
int a[10];
int i;
for(i = 0; i < sizeof(a)/sizeof(a[0]); i++){
...
}
も未定義になるんじゃないか。
そうだったら困るよ、この手のコード山ほど書いてきたから。
0868デフォルトの名無しさん
2011/02/14(月) 22:07:07俺も困る
下記のコードがNGだから、sizeof演算子はアクセスしないって信じてます
sizeof(i++)
0869デフォルトの名無しさん
2011/02/14(月) 22:11:33大丈夫、ネタだって
GCCではARRAY_SIZEってマクロが同じ手法でlibiberty.hに定義されてるよ
0870デフォルトの名無しさん
2011/02/14(月) 22:14:51規格を語る時にgccを引き合いに出されても…
0871デフォルトの名無しさん
2011/02/14(月) 22:19:43407 名前:404 ◆QZaw55cn4c [sage] 投稿日:2011/02/14(月) 22:15:20
>>406
C99 です。
codepad.org も gcc を C99 として使っているようで、だから、>>400 でもコンパイル時のエラーが表示されていません。
C99 の新仕様は、手近のここを参照しました。
http://seclan.dll.jp/c99d/c99d07.htm#dt19990927 の 7-7
権威のある規格を教えていただけるとうれしいです。
C99でCの宿題をあくまでもやると言い出したww
0872デフォルトの名無しさん
2011/02/14(月) 22:27:23i=0って初期化してるやん
0873デフォルトの名無しさん
2011/02/14(月) 22:27:35236 : ◆QZaw55cn4c :2011/02/14(月) 21:47:30
>>234
そうですか?「学食大盛り一杯分」あたりを狙ってみたんですが。
0874デフォルトの名無しさん
2011/02/14(月) 22:40:04おまいら細かいだろ、
ここは学校の課題をこなすところだぞ
416 名前:デフォルトの名無しさん[sage] 投稿日:2011/02/14(月) 22:27:56
>>415==◆QZaw55cn4c
通らないソースを呈示されても学生はかえって迷惑するだけなんですけど
417 名前:デフォルトの名無しさん[sage] 投稿日:2011/02/14(月) 22:28:06
>>412
それは流石に言いがかり
難癖つけたい気持ちは分かるが>>392の環境がgccなんだからgccで通ればOK
やるなら、gccのver xxで動きませんとか言わないと
>[3] 環境
> [3.1] OS:Linux
> [3.2] コンパイラ名とバージョン:gcc
> [3.3] 言語:C
418 名前:デフォルトの名無しさん[sage] 投稿日:2011/02/14(月) 22:29:38
>>417==◆QZaw55cn4c
419 名前:415[sage] 投稿日:2011/02/14(月) 22:29:44
おれ、ちがうぞ。学生だし
420 名前:デフォルトの名無しさん[sage] 投稿日:2011/02/14(月) 22:30:40
>>419==◆QZaw55cn4c
もうね、、、
421 名前:415[sage] 投稿日:2011/02/14(月) 22:32:20
>>420==◆QZaw55cn4c
おこったぞー、やりかえしてやるー
0875デフォルトの名無しさん
2011/02/14(月) 22:46:11あっゴメン、そういう流れだったのか
以下、JIS X3010:2003(ISO/IEC 9899:1999) 6.5.3.4 sizeof演算子 辺りより抜粋
オペランドの型が可変長配列型である場合は、オペランドを評価する。そうでない場合、
オペランドは評価せず、その結果は、整数定数とする。
例2. sizeof演算子のもう一つの用途は、次のようにして配列の要素の個数を求めることである。
sizeof array / sizeof array[0]
でいいかな?
0876デフォルトの名無しさん
2011/02/14(月) 22:50:12なるほど、今までのコードは安全だけど、可変長は駄目ってことだな。
ってことは、その例もarrayが可変長だと評価されてしまってNGになるってことか。
0877デフォルトの名無しさん
2011/02/14(月) 22:51:040878デフォルトの名無しさん
2011/02/14(月) 22:55:45型は基本的にはint,double,charのみでいいんでしょうか
もちろんサイズなどもあるとおもいますが
解答よろしくお願いします。
0879デフォルトの名無しさん
2011/02/14(月) 22:57:020880デフォルトの名無しさん
2011/02/14(月) 23:01:12ありがとうございます
0881デフォルトの名無しさん
2011/02/14(月) 23:04:16ちょ、おま
0882デフォルトの名無しさん
2011/02/14(月) 23:04:35初期化してない変数へのアクセスってsizeofでも未定義なの?
typedef xxx foo;
foo *p;
sizeof( *p ); /* pは初期化してない */
0883デフォルトの名無しさん
2011/02/14(月) 23:07:190884デフォルトの名無しさん
2011/02/14(月) 23:07:480885デフォルトの名無しさん
2011/02/14(月) 23:10:28↓
「は?可変長配列も含む話だしw」
で、その話はまだ続いてるようだが
0886デフォルトの名無しさん
2011/02/14(月) 23:11:33875で終わってる
0887デフォルトの名無しさん
2011/02/14(月) 23:12:55恥ずかしかったのは分かるよ
0888デフォルトの名無しさん
2011/02/14(月) 23:13:31つーか、しつこい!
0889デフォルトの名無しさん
2011/02/14(月) 23:14:030890デフォルトの名無しさん
2011/02/14(月) 23:14:59うんうん、恥ずかしいよね^^
餌デカイけど我慢してね^^
教えてエロい人
初期化してない変数へのアクセスってsizeofでも未定義なの?
typedef xxx foo;
foo *p;
sizeof( *p ); /* pは初期化してない */
0891デフォルトの名無しさん
2011/02/14(月) 23:16:330892デフォルトの名無しさん
2011/02/14(月) 23:17:19xxx次第
0893デフォルトの名無しさん
2011/02/14(月) 23:17:270894デフォルトの名無しさん
2011/02/14(月) 23:19:350895デフォルトの名無しさん
2011/02/14(月) 23:19:37可変の入り込む余地ないだろ
0896デフォルトの名無しさん
2011/02/14(月) 23:19:51あぁ、あれね。可変長配列を後出しにするんでしょ?分かってるよw
0897デフォルトの名無しさん
2011/02/14(月) 23:20:56頑張って餌に食らい付けよsizeof君
0898デフォルトの名無しさん
2011/02/14(月) 23:21:16確信ないけど、可変長配列でも大丈夫なような気がする。
「オペランドを評価する」というのは、静的=コンパイル時決定ではなく
動的=実行時決定のこと言ってるんだと思う。
もう一度言っておくと確信ないからね。
誰か原文(ISO/IEC 9899:1999)読んでフォローしてくれ。
0899デフォルトの名無しさん
2011/02/14(月) 23:25:03遅れましたがありがとうございました。
0900デフォルトの名無しさん
2011/02/14(月) 23:25:09>>810にはそんなことが書いてあるけど
0901デフォルトの名無しさん
2011/02/14(月) 23:25:25sizeof array
↑って実行時評価だろ
sizeof array[0]
問題は↑が実行時評価になるかどうかだ
実装する上では素直にコンパイル時評価のはずだが、
規格を読むだけでは、どちらとでも取れるからな…
0902デフォルトの名無しさん
2011/02/14(月) 23:26:12よう、なめ達磨
0903デフォルトの名無しさん
2011/02/14(月) 23:27:190904デフォルトの名無しさん
2011/02/14(月) 23:28:49・モリタポ(http://moritapo.jp/)により決済を行います。
・投稿にあたっては、トリップを使ってください。トリップがなければ決済の確認ができません。
◆QZaw55cn4c は、トリップ以外の質問者の情報を知ることができませんので安心です。
【回答掲示までの流れ】
1. 質問者がトリップを使って問題を投稿する。
2. ◆QZaw55cn4c が回答できる問題があれば、◆QZaw55cn4c が受諾レスを行う。
受諾レスには決済日を基点とした回答猶予期間が示される。
3. 質問者が ◆QZaw55cn4c にモリタポを進呈する。
進呈の際には、問題を投稿したときに表示されたトリップ(パスワードではない)をメッセージに記入する。
4. モリタポの進呈を確認したら、◆QZaw55cn4c は回答を掲示する。(http://codepad.org/, http://ideone.com を使用します。)
【料金】
・一問あたり 500円(5000モリタポ・手数料込み)です。
・一つのレスに記述できる内容を一問とします。アップローダーを使用してもかまいません。
・◆QZaw55cn4c が受諾レスを行い、受諾レスに回答期日を示したにも関わらず、回答期日に間に合わなかった場合には、モリタポを返還します。
それ以外の場合にはモリタポの返還はいたしません。
【修正】
・◆QZaw55cn4c が一度示した回答に対しては、明白な錯誤があった場合を除いては、◆QZaw55cn4c は修正は基本的に行いません。
ただし、最大限ご希望に応じたいと考えていますので、修正希望があれば、トリップを使用して投稿してください。
修正希望回数は、最大3回を目安としてください。3回を超えて修正を希望する場合は、新規に質問を投稿しなおしてください。
いずれも場合も、修正に応じることを保障するものではありません。
0905デフォルトの名無しさん
2011/02/14(月) 23:29:520906デフォルトの名無しさん
2011/02/14(月) 23:31:13それはない
0907デフォルトの名無しさん
2011/02/14(月) 23:34:02ぺろぺろぺろぺろ
0908905
2011/02/14(月) 23:34:26ごめん、ネタで書いただけなんだけど、気分を害してしまったようですね。
sizeofは私も使ってるので、不要だと思ったことは一度もないです。
0909デフォルトの名無しさん
2011/02/14(月) 23:35:34ぺろぺろぺろぺろ
0910デフォルトの名無しさん
2011/02/14(月) 23:35:49ぺろぺろぺろぺろ
0911デフォルトの名無しさん
2011/02/14(月) 23:36:22ぺろぺろぺろぺろ
0912デフォルトの名無しさん
2011/02/14(月) 23:36:27>規格を読むだけでは、どちらとでも取れるからな…
には同意
>sizeof array[0]
>問題は↑が実行時評価になるかどうかだ
これはいみふ。
例え可変長配列であろうともarray要素の型が動的に変化することはないので。
従って、静的決定だろうが動的決定だろうが結果は同じ。
sizeof演算子はあくまでもオペランドの記憶領域サイズを結果として返すのみ。
っていうのは、なんか勘違いしてるかな?
0913デフォルトの名無しさん
2011/02/14(月) 23:37:28ぺろぺろぺろぺろ
0914デフォルトの名無しさん
2011/02/14(月) 23:37:47ぺろぺろぺろぺろ
0915デフォルトの名無しさん
2011/02/14(月) 23:38:47ぺろぺろぺろぺろ
0916デフォルトの名無しさん
2011/02/14(月) 23:38:52ぺろぺろぺろぺろ
0917デフォルトの名無しさん
2011/02/14(月) 23:46:31ぺろぺろぺろぺろ
0918デフォルトの名無しさん
2011/02/14(月) 23:47:29【モリタポ有償】C/C++の問題を片付けます(2)
http://hibari.2ch.net/test/read.cgi/tech/1295273862/
0919デフォルトの名無しさん
2011/02/14(月) 23:51:330920デフォルトの名無しさん
2011/02/14(月) 23:58:080921デフォルトの名無しさん
2011/02/14(月) 23:59:28ISOれks
これがスルーされて涙目ってとこか
0922デフォルトの名無しさん
2011/02/15(火) 00:04:150923デフォルトの名無しさん
2011/02/15(火) 00:04:27俺も原文を、どう読めば良いのか分からんが
オペランドを評価するって言葉の意味は、下記の意味だと思った
int i=5;
int array[i];
sizeof(i-1); // 意味のない例だけど、i-1を評価して未定義になる
0924デフォルトの名無しさん
2011/02/15(火) 00:06:39なんか書き間違えてない?
その例だとsizeof(i-1)は普通にコンパイル時に評価される
0925デフォルトの名無しさん
2011/02/15(火) 00:07:450926デフォルトの名無しさん
2011/02/15(火) 00:09:34だね…orz
int i=5;
int array[i];
sizeof(array-1); // 意味のない例だけど、i-1を評価して未定義になる
0927926
2011/02/15(火) 00:11:51寝る
0928デフォルトの名無しさん
2011/02/15(火) 00:15:20sizeofはオペランドの記憶領域サイズを返すんだから、
sizeof(i-1) sizeof(i) sizeof(int) sizeof(1)
は全て同じ値に静的にコンパイル時決定される。
sizeof(array)は動的に実行時決定される。
但し、この例の場合にはコンパイラの最適化により静的にコンパイル時決定されるかもね。
で、キチガイが湧いてきたのでこれで終りにします。ゴメン
0929デフォルトの名無しさん
2011/02/15(火) 00:15:49そうでない場合,オペランドは評価せず,その結果は,整数定数とする。
0930デフォルトの名無しさん
2011/02/15(火) 00:17:52コードのリンクみたいな処理必要ないんですか?
0931デフォルトの名無しさん
2011/02/15(火) 00:18:12>>928
最後の一文はいらない
0932デフォルトの名無しさん
2011/02/15(火) 00:22:240933デフォルトの名無しさん
2011/02/15(火) 00:22:33現時点で分からないと言ってるのは
ぺろぺろしたいだけの舐め達磨だけだと思うのだが。
0934デフォルトの名無しさん
2011/02/15(火) 00:25:56はてさて
0935デフォルトの名無しさん
2011/02/15(火) 00:28:23ISOれksもこいつかw
0936デフォルトの名無しさん
2011/02/15(火) 00:29:14ぺろぺろぺろぺろ
0937デフォルトの名無しさん
2011/02/15(火) 00:30:20そのクドさ
お前舐め達磨だろw
これでも食らえ
ぺろぺろぺろぺろ
0938デフォルトの名無しさん
2011/02/15(火) 00:30:240939デフォルトの名無しさん
2011/02/15(火) 00:30:37>>897
よう、なめ達磨
903 :デフォルトの名無しさん:2011/02/14(月) 23:27:19
面白いねー
907 :デフォルトの名無しさん:2011/02/14(月) 23:34:02
>>903
ぺろぺろぺろぺろ
なんだ、なめ達磨って自分のことじゃん
0940デフォルトの名無しさん
2011/02/15(火) 00:31:39流行らなかったからって荒らしは良くないよ
0941デフォルトの名無しさん
2011/02/15(火) 00:32:530942デフォルトの名無しさん
2011/02/15(火) 00:33:24頼むからキチガイは消えてくれ
0943デフォルトの名無しさん
2011/02/15(火) 00:34:110944デフォルトの名無しさん
2011/02/15(火) 00:34:39これでも食らえ
ぺろぺろぺろぺろ
0945デフォルトの名無しさん
2011/02/15(火) 00:35:34舐められるのには弱い舐め達磨w
ぺろぺろぺろぺろ
0946デフォルトの名無しさん
2011/02/15(火) 00:35:42ぺろぺろぺろぺろ
0947デフォルトの名無しさん
2011/02/15(火) 00:36:38ぺろぺろぺろぺろ
0948デフォルトの名無しさん
2011/02/15(火) 00:36:59ぺろぺろぺろぺろ
>>946
頼むからキチガイは消えてくれ
0949デフォルトの名無しさん
2011/02/15(火) 00:36:59ぺろぺろぺろぺろ
0950デフォルトの名無しさん
2011/02/15(火) 00:37:44ぺろぺろぺろぺろ
0951デフォルトの名無しさん
2011/02/15(火) 00:38:09ぺろぺろぺろぺろ
0952デフォルトの名無しさん
2011/02/15(火) 00:38:51ぺろぺろぺろぺろ
0953デフォルトの名無しさん
2011/02/15(火) 00:39:25ぺろぺろぺろぺろ
0954デフォルトの名無しさん
2011/02/15(火) 00:40:12ぺろぺろぺろぺろ
0955デフォルトの名無しさん
2011/02/15(火) 00:40:59ぺろぺろぺろぺろ
0956デフォルトの名無しさん
2011/02/15(火) 00:41:22ぺろぺろぺろぺろ
0957デフォルトの名無しさん
2011/02/15(火) 00:42:01ぺろぺろぺろぺろ
0958デフォルトの名無しさん
2011/02/15(火) 00:42:36ぺろぺろぺろぺろ
0959デフォルトの名無しさん
2011/02/15(火) 00:43:23ぺろぺろぺろぺろ
0960デフォルトの名無しさん
2011/02/15(火) 00:44:05ぺろぺろぺろぺろ
0961デフォルトの名無しさん
2011/02/15(火) 00:44:33ぺろぺろぺろぺろ
0962デフォルトの名無しさん
2011/02/15(火) 00:46:35ぺろぺろぺろぺろ
0963デフォルトの名無しさん
2011/02/15(火) 00:47:40ぺろぺろぺろぺろ
0964デフォルトの名無しさん
2011/02/15(火) 00:50:50ぺろぺろぺろぺろ
0965デフォルトの名無しさん
2011/02/15(火) 00:52:14ぺろぺろぺろぺろ
0966デフォルトの名無しさん
2011/02/15(火) 00:52:29ぺろぺろぺろぺろ
0967デフォルトの名無しさん
2011/02/15(火) 00:53:36ぺろぺろぺろぺろ
0968デフォルトの名無しさん
2011/02/15(火) 00:56:31舐め達磨さん
ぺろぺろしてすいませんでした
0969デフォルトの名無しさん
2011/02/15(火) 00:56:59てめーらはあずぺろでもしてろ
0970デフォルトの名無しさん
2011/02/15(火) 01:01:36氏ね
0971デフォルトの名無しさん
2011/02/15(火) 01:01:560972デフォルトの名無しさん
2011/02/15(火) 01:04:030973デフォルトの名無しさん
2011/02/15(火) 01:05:43typedef xxx foo;
foo *p;
sizeof( *p ); /* pは初期化してない */
0974デフォルトの名無しさん
2011/02/15(火) 01:07:440975デフォルトの名無しさん
2011/02/15(火) 01:09:250976デフォルトの名無しさん
2011/02/15(火) 01:10:54そこが論点なら
sizeof p
だろうがよ低脳
0977デフォルトの名無しさん
2011/02/15(火) 01:11:470978デフォルトの名無しさん
2011/02/15(火) 01:12:130979デフォルトの名無しさん
2011/02/15(火) 01:13:180980デフォルトの名無しさん
2011/02/15(火) 01:15:190981デフォルトの名無しさん
2011/02/15(火) 01:17:400982デフォルトの名無しさん
2011/02/15(火) 01:28:240983デフォルトの名無しさん
2011/02/15(火) 01:41:280984デフォルトの名無しさん
2011/02/15(火) 01:43:08たぶん正当なコード
sizeofはちょっと特殊な挙動をする演算子で、
(いくつか変なケースを除いて)オペランドは実行されない
pが指す先にアクセスしなくても、コンパイル時に型は決定できるからね
0985デフォルトの名無しさん
2011/02/15(火) 01:58:31else ifって必要なくないですか?
0986デフォルトの名無しさん
2011/02/15(火) 01:59:44インデントが深くならないだろ
0987デフォルトの名無しさん
2011/02/15(火) 02:13:41/* ... */
else
if (...)
/* ... */
else
if (...)
深くなってる気がします!
0988デフォルトの名無しさん
2011/02/15(火) 02:16:060989デフォルトの名無しさん
2011/02/15(火) 02:16:48/* ... */
else if (...) /* ... */
else if (...) /* ... */
0990デフォルトの名無しさん
2011/02/15(火) 02:24:12ネストじゃ?
0991デフォルトの名無しさん
2011/02/15(火) 02:25:42/* ぺろ */
else if (...) /* ぺろぺろ */
else if (...) /* ぺろぺろぺろ */
else if (...) /* ぺろぺろぺろぺろ */
0992デフォルトの名無しさん
2011/02/15(火) 02:26:060993デフォルトの名無しさん
2011/02/15(火) 02:26:580994デフォルトの名無しさん
2011/02/15(火) 02:27:140995デフォルトの名無しさん
2011/02/15(火) 02:27:200996デフォルトの名無しさん
2011/02/15(火) 02:30:040997デフォルトの名無しさん
2011/02/15(火) 02:30:320998デフォルトの名無しさん
2011/02/15(火) 02:39:060999デフォルトの名無しさん
2011/02/15(火) 02:41:521000デフォルトの名無しさん
2011/02/15(火) 02:41:5910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。