5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

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

C言語なら俺に聞け(入門編)Part 78

1 :デフォルトの名無しさん:2011/02/06(日) 18:33:49
C言語の*入門者*向け解説スレッドです。
★前スレ
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++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

2 :デフォルトの名無しさん:2011/02/06(日) 18:42:29
ここは俺ことイカ娘に聞け(上級編)Part 78でゲソ

   ,.__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
       /: : | ̄     |: : レ /: ://                  \

3 :デフォルトの名無しさん:2011/02/06(日) 18:43:06
914 :デフォルトの名無しさん: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
こうして人は成長していくのであった^^;

4 :デフォルトの名前無しさん:2011/02/06(日) 18:48:59
c言語を学びたいのですが、どこから始めたら
いいか分からないので、教えていただけますか?

5 :デフォルトの名無しさん:2011/02/06(日) 18:51:40
>>4
> どこから

まずはコンパイラを動かす所から。
使ってる OS は Windows?

6 :デフォルトの名無しさん:2011/02/06(日) 19:43:00
いつも思うんだが、何でプログラミング言語を開発しようとしてる人っている
のかな?C言語が一番高速なのは分かっているのだから、Cを使ってツールを
開発したらいいのに。

7 : ◆QZaw55cn4c :2011/02/06(日) 19:46:38
http://hibari.2ch.net/test/read.cgi/tech/1295721606/894
しばらくして思いついたのですが、これは MS-DOS で VRAM に値を書き込む、というお題ですか?
実際に実行させたい環境を教えてください。それに沿ってお話しできると思います。

8 :デフォルトの名無しさん:2011/02/06(日) 19:48:11
>>7
あなたは結構有益な回答くださるのに、何故このスレで嫌われ気味なのですか?


9 :デフォルトの名無しさん:2011/02/06(日) 19:48:13
>>7がいるこのスレは糞スレである

10 :デフォルトの名無しさん:2011/02/06(日) 19:48:29
>>6
1. もっと開発効率が良い言語が欲しいから
2. もっと安全な言語が欲しいから
3. もっとプラットフォーム依存度が低い言語が欲しいから
4. もっと書いていて気持ちの良い言語が欲しいから
5. just for fun

11 :デフォルトの名無しさん:2011/02/06(日) 19:50:24
7 : ◆QZaw55cn4c :2011/02/06(日) 19:46:38
http://hibari.2ch.net/test/read.cgi/tech/1295721606/894
しばらくして思いついたのですが、これは MS-DOS で VRAM に値を書き込む、というお題ですか?
実際に実行させたい環境を教えてください。それに沿ってお話しできると思います。


8 :◆QZaw55cn4c :2011/02/06(日) 19:48:11
>>7
あなたは結構有益な回答くださるのに、何故このスレで嫌われ気味なのですか?

12 : ◆QZaw55cn4c :2011/02/06(日) 19:50:56
>>8
基本的なスタンスが「あらし」ですからねえ。

13 :デフォルトの名無しさん:2011/02/06(日) 19:52:45
>>12
消えろよ糞

14 :デフォルトの名無しさん:2011/02/06(日) 19:53:39
◆QZaw55cn4cはなんで自分の巣でじっとしてられないの?

15 : ◆QZaw55cn4c :2011/02/06(日) 19:53:40
>>11
http://hibari.2ch.net/test/read.cgi/tech/1296984829/8
にはトリップはついていませんよ。嘘はよくないですねえ。

16 :デフォルトの名無しさん:2011/02/06(日) 19:54:27
釣れたw

17 :デフォルトの名無しさん:2011/02/06(日) 19:54:39
Win32APIとC言語って何の関係があるんですか?
本屋に行くと,WinAPIとCがそれぞれ別の言語としてコーナーに分かれていました。
WinAPIって言語なんですか?

18 :デフォルトの名無しさん:2011/02/06(日) 19:55:32
http://hibari.2ch.net/test/read.cgi/tech/1295721606/894
894 :デフォルトの名無しさん:2011/02/05(土) 23:39:04
その通り
脳内で何をしているの?


19 :デフォルトの名無しさん:2011/02/06(日) 20:00:35
>>17
親切に答えると怒られるスレで親切に答えてみるテスツ

APIの意味調べてみた?

20 :デフォルトの名無しさん:2011/02/06(日) 20:01:37
「〜てみるテスト」ってまだ使う人いたんだ

21 : ◆QZaw55cn4c :2011/02/06(日) 20:08:10
>>17
win32api は Windows の話です。
Windows という OS が提供する機能を使用するときには、win32api と総称される関数群を所定の手続きを経て呼び出します。(正確には dll の エントリーを呼びだすことになります。)
win32api を呼び出すのは、C 以外の言語であっても処理系によっては可能です。(excel からでも可能だったりします。)だから厳密にいえば、c 言語であることと、win32api を呼び出すこととは直接の関係はありません。

22 :デフォルトの名無しさん:2011/02/06(日) 20:10:37
◆QZaw55cn4c

23 :デフォルトの名無しさん:2011/02/06(日) 20:11:25
>>21
へーそうなんですか。
確かwin32apiを呼び出すときは
#include<stdio.h>
int Winmain(Windows.h)
にしないとだめなんですよね?

24 :デフォルトの名無しさん:2011/02/06(日) 20:12:33
RubyってC言語に比べてどの点で勝ってるの?

25 : ◆QZaw55cn4c :2011/02/06(日) 20:15:27
>>23
ちょっと違います。
こちらが詳しいです。http://wisdom.sakura.ne.jp/system/winapi/win32/
なおコンパイラ/リンカを含めた環境が windows のプログラムを作成できるように対応していなければなりません。

26 :デフォルトの名無しさん:2011/02/06(日) 20:16:12
25 : ◆QZaw55cn4c :2011/02/06(日) 20:15:27
>>23
ちょっと違います。
こちらが詳しいです。http://wisdom.sakura.ne.jp/system/winapi/win32/
なおコンパイラ/リンカを含めた環境が windows のプログラムを作成できるように対応していなければなりません。

27 : ◆QZaw55cn4c :2011/02/06(日) 20:16:45
>>24
オブジェクト指向、それも純粋なオブジェクト指向であるところ。lisp の香りがするのも好き。

28 :デフォルトの名無しさん:2011/02/06(日) 20:18:11
>>27
コピペキチガイに粘着されてるからコテ外せ

29 :デフォルトの名無しさん:2011/02/06(日) 20:19:04
◆QZaw55cn4c氏ね

30 :デフォルトの名無しさん:2011/02/06(日) 20:21:30
前スレ984です。
ご説明、ありがとうございました。
>SCI の値は 0x00808000 で、これは具体的にはアドレスと考えていいでしょう。
この説明は、わかりました。しかし、*を付けるのがよくわかりませんでした。
私にはまだ難しすぎるようです。

他のスレで、まったりと聞くことにしましたので、移動したいと思います。
どうもすみません。ありがとうございました。


31 :デフォルトの名無しさん:2011/02/06(日) 20:22:17
>>30
もう二度と来んなよ

32 :デフォルトの名無しさん:2011/02/06(日) 20:32:17
>>30
◆QZaw55cn4cみたいに、嫌われようがしつこく粘れよ

unsigned int *SCI = (volatile unsigned int *)0x00808000;
の前に
unsigned int a;
unsigned int *SCI;
SCI = &a;
が理解できるのか?

unsigned int *SCI = &a;
は理解できるのか?

33 :デフォルトの名無しさん:2011/02/06(日) 20:32:56
◆QZaw55cn4cは糞

34 : ◆QZaw55cn4c :2011/02/06(日) 20:35:21
>>28
コピペ気狂いってなにを目的に人のレスをコピペするのですかね。コピペしてなにがいいたいのですかね。謎です。

35 :デフォルトの名無しさん:2011/02/06(日) 20:36:39
>>21
消えろカス

36 :デフォルトの名無しさん:2011/02/06(日) 20:38:53
>>34
氏ねカス
味方がいると思ってんじゃねーよクズ

37 :デフォルトの名無しさん:2011/02/06(日) 20:45:49
>>34
ウザいから消えろよ

38 :デフォルトの名無しさん:2011/02/06(日) 20:46:00
>>34がイチバン謎です

39 :デフォルトの名無しさん:2011/02/06(日) 20:46:45
>>34
いい加減にしろ

40 :デフォルトの名無しさん:2011/02/06(日) 20:49:27
>>34
キモいね君

41 :デフォルトの名無しさん:2011/02/06(日) 20:52:34
>>34
このスレで必要とされてないからもう来ないでくれ。
荒れるだけだから。

42 :デフォルトの名無しさん:2011/02/06(日) 21:08:18
このスレに必要なのは質問者と回答者のみ。
質問がないならスレ伸ばす必要もないし、微塵も笑えないネタなど不要である。

43 :デフォルトの名無しさん:2011/02/06(日) 21:12:52
必要なのはスルー力

44 :デフォルトの名無しさん:2011/02/06(日) 21:17:30
ここはキチガイの溜り場ですか?

45 :デフォルトの名無しさん:2011/02/06(日) 21:17:37
このスレ伸びすぎワロタwww


46 :デフォルトの名無しさん:2011/02/06(日) 21:39:39
◆QZaw55cn4cは自分のスレに篭ってればいいのに

47 :デフォルトの名無しさん:2011/02/06(日) 23:09:35
◆QZaw55cn4c 一人だけがキチガイです

48 :デフォルトの名無しさん:2011/02/06(日) 23:24:40
こいつ有料で宿題やる奴だっけ

49 :デフォルトの名無しさん:2011/02/06(日) 23:26:57
たったったっ=з=з=з

くるり∂

なにか!?

50 :デフォルトの名無しさん:2011/02/06(日) 23:32:10
たったったっ=з=з=з

くるり∂

なにか!?

51 :デフォルトの名無しさん:2011/02/06(日) 23:34:46
>>48
今の所は一度もモリタポの授受はないようだが
一度でもモリタポの授受があった時点でアウト
2chで金儲けや宣伝をすると高額の宣伝料を取られます

52 :デフォルトの名無しさん:2011/02/06(日) 23:56:50
二番目の文字を頭揃えしたい場合は\tを使うと習ったんですが、
揃う場合と揃わない場合があります。なぜでしょうか

#include<stdio.h>
int main(void)

{
printf("sakamoto\tkakitsubata\n");
printf("keiji\tkuriverzidy\n");
return 0;

}

↑は揃いません。どなたか教えてください

53 :デフォルトの名無しさん:2011/02/07(月) 00:03:09
>>52
タブ幅はたいてい8文字分。
sakamotoで8文字いっちゃってるから、タブで次の8文字にいっちゃう。
printfでやりたいなら%10sとかでできる。

54 :デフォルトの名無しさん:2011/02/07(月) 00:04:06
>>52
揃う揃わないをどのように確認していますか?
コンソール画面やエディタなどでしたら
それらのタブ幅を9以上に設定すると揃いますよ

55 :デフォルトの名無しさん:2011/02/07(月) 00:05:11
>>52
揃うか揃わないかは端末次第です。タブで揃わない場合は空白で調整するしかありません。
それとて、端末がプロポーショナルなレイアウトなら揃えられないかも知れません。

56 :デフォルトの名無しさん:2011/02/07(月) 00:08:15
C言語にも変数(オブジェクト)という機能がありますよね?
それなのにオブジェクト指向言語じゃないんですか?

57 :デフォルトの名無しさん:2011/02/07(月) 00:10:49
オブジェクト指向のサポートが弱いからね。

58 :デフォルトの名無しさん:2011/02/07(月) 00:16:14
>>57
一応オブジェクト指向ってことですか?

59 :デフォルトの名無しさん:2011/02/07(月) 00:17:38
オブジェクト指向にもできるが、一般的にオブジェクト指向言語とは言われない。

60 :デフォルトの名無しさん:2011/02/07(月) 00:21:11
>>56
言語としてのサポートはないに等しい。
自分で作ればいくらでもできる。

61 :デフォルトの名無しさん:2011/02/07(月) 00:22:08
int a;
a=100;

これはオブジェクト指向では?


62 :デフォルトの名無しさん:2011/02/07(月) 00:23:20
>>56
変数を指す「オブジェクト」とオブジェクト指向の「オブジェクト」って意味違うよ

63 :デフォルトの名無しさん:2011/02/07(月) 00:24:47
>>61
それだけじゃ多態もカプセル化もないだろ

64 :56:2011/02/07(月) 00:27:19
ホントに皆さんよく釣れますねw

65 :56:2011/02/07(月) 00:29:20
よくわかりました。ありがとうございました。

66 :56 ◆IMYSknK/Jg :2011/02/07(月) 00:30:42
>>64
>>65
偽者やめて・・

67 : ◆QZaw55cn4c :2011/02/07(月) 00:33:16
>>51
http://hibari.2ch.net/test/read.cgi/tech/1295273862/32

68 :デフォルトの名無しさん:2011/02/07(月) 00:33:46
#include<stdio.h>

int main(void)

{
printf("%f\n",10+3);
return 0;}

だと正確な答えが出なくて、printf("%f\n",10.0+3.0)だと正確な答えが出るのはどうしてですか?

69 :デフォルトの名無しさん:2011/02/07(月) 00:37:33
>>68
可変長引数関数だから

70 :デフォルトの名無しさん:2011/02/07(月) 00:40:11
>>68
10+3は整数だから

71 :デフォルトの名無しさん:2011/02/07(月) 00:42:13
>>68
> printf("%f\n",10+3); 〜 だと正確な答えが出なくて

10+3 と言う int 型の値を printf("%f\n", ) が float 型とみなして表示しようと
するから。

ちなみに float f = 10 + 3; は、int から float に変換して正しく 13.0 が f に
入るけど、printf() の引数はその手の変換はしない。
(フォーマット文字列が可変なんていうケースもあるから。)

72 :デフォルトの名無しさん:2011/02/07(月) 00:42:39
>>69
>>70
ありがとうございます、ぼけてました


73 : ◆QZaw55cn4c :2011/02/07(月) 00:43:00
>>68
printf("%f\n", ...
とした以上、"%f\n" の次にくる引数は double 型でなければなりませんが、この引数を「10 + 3」と書くと、double 型にはなりません。
「10.0 + 3.0」
であれば、double 型になります。
C の文法では、"%f" を printf() の第一引数で指定したからといって、第二引数以下を適切に型変換してくれないのです。

74 : ◆QZaw55cn4c :2011/02/07(月) 00:44:30
>>71
>float 型とみなして
可変長引数では double 型に格上げされます。"%f" は double 型に対応する書式指定です。

75 :デフォルトの名無しさん:2011/02/07(月) 00:47:11
初めまして。
ただいまC言語勉強中の者です。
行き詰ってしまったので教えてください。

1.テキストファイルからテキスト(複数行)を読み込み、別のテキストファイルへ1行(改行なし)で書き込む。
2.特定の文字列が含まれる行になった時に、改行する。

以上の事をやりたいのですが、どうしたらよいでしょうか?

76 :デフォルトの名無しさん:2011/02/07(月) 00:50:39
>>74
%fはfloatも表示できるだろうが
とりあえず消えろ

77 :デフォルトの名無しさん:2011/02/07(月) 00:51:42
>>75
1.strstrで特定の文字列を探す。
2.特定の文字列の前までgetcharで1文字ずつ読んで改行は読み飛ばし、改行以外はそのまま出力。
3.特定の文字列を出力して、改行。
4.特定文字列の後ろの文字から1.以降を繰り返し。

78 :デフォルトの名無しさん:2011/02/07(月) 00:55:21
>>75
複数行と1行の関連性がわからん
例題的なのがあればまだ答えようがあるんだが

2については特定の文字列を探して
文字列を\nに交換して後ろのを前にずらしてくる

79 :デフォルトの名無しさん:2011/02/07(月) 00:56:06
>>71 知ったかぶる
>>74 マジレス
>>76 無知の逆切れであらし化

このパターン多いなw

80 :デフォルトの名無しさん:2011/02/07(月) 01:04:55
>>79 ◆QZaw55cn4cさんちわーっす

81 : ◆QZaw55cn4c :2011/02/07(月) 01:10:16
>>76
それは可変長引数においては、float は double に格上げされるから。これを default argument promotion と呼びます。
ISO/IEC 9899:1999 6.5.2.2.6
K&R2 A 7.3.2

82 :デフォルトの名無しさん:2011/02/07(月) 01:11:20
◆QZaw55cn4c がまた

【モリタポ有償】C/C++の問題を片付けます(2)
http://hibari.2ch.net/test/read.cgi/tech/1295273862/

でファビョってるぞ
こいつ2chを私物化して平気なツラをしてる
どんな神経してるんだ
信じられん

83 :デフォルトの名無しさん:2011/02/07(月) 01:13:20
>>71
>>76
>>80

http://www.kouno.jp/home/c_faq/c12.html
12.9: 嫁




こうして人は成長していくのであった^^;

84 :75:2011/02/07(月) 01:17:43
>>78
説明不足で申し訳ありません。



以下例文
====================
日曜日
月曜日
火曜日
水曜日
木曜日
金曜日
土曜日
日曜日
月曜日
====================

これを以下のような感じに1行に並べる(1)
「日曜日」と言う文言がきた時に改行する(2)
====================
日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日
日曜日
====================

と言った感じです。
この例文でわかりますでしょうか?

85 :デフォルトの名無しさん:2011/02/07(月) 01:23:37
◆QZaw55cn4c氏ね

86 : ◆QZaw55cn4c :2011/02/07(月) 01:25:09
>>75
http://codepad.org/ZoFT7GuB
これはどうでしょう。標準入力から読み込み、特定の文字列を "test" として、"test" が含まれる行をみつけたら、その行を出力してから改行します。
"test" が含まれないかぎり、改行しません。

87 :デフォルトの名無しさん:2011/02/07(月) 01:25:23
>>84
スレ違いだから消えてくれ

88 :デフォルトの名無しさん:2011/02/07(月) 01:26:39
>>86
しね

89 :デフォルトの名無しさん:2011/02/07(月) 01:27:03
◆QZaw55cn4c
消えろゴミクズ

90 :デフォルトの名無しさん:2011/02/07(月) 01:28:50
>>76
これは恥ずかしい

91 : ◆QZaw55cn4c :2011/02/07(月) 01:28:52
>>84
それは困りました。
1) 「日曜日」をみつけたら「日曜日」を出力してから改行する
2) 「日曜日」をみつけたら「日曜日」を出力する前に改行する
のいずれにもあたりませんね。どうしましょうか?

92 :75 ◆x5.USacuQA :2011/02/07(月) 01:30:49
>>91
結局あなたも役に立たないですね…

93 :デフォルトの名無しさん:2011/02/07(月) 01:31:05
>>91
お前が消えるのが一番よろしい

94 :75 ◆x5.USacuQA :2011/02/07(月) 01:34:03
関連レスを見てみると◆QZaw55cn4cはあまり良くないようですね
あやうく変な人と交流をもつところでした

95 :デフォルトの名無しさん:2011/02/07(月) 01:35:22
>>94
◆QZaw55cn4c は明らかな人格障害だよ
こいつ精神科に行かなければならない
2chでも多くの人に迷惑を掛けてばかりだ

96 :デフォルトの名無しさん:2011/02/07(月) 01:35:35
>>84
====================
日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日
日曜日
====================

ではなく

====================

日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日
日曜日 月曜日
====================

じゃないのかい?
これなら、日曜日は改行でそれ以外はスペースと法則性は見える

97 :デフォルトの名無しさん:2011/02/07(月) 01:36:28
>>84
a.ある程度の長さのバッファを用意する
b.1行ずつ読み込んでいく
c-1.読み込んだ中に特定の文字列が無ければファイルに書き込む
c-2.特定の文字列があれば改行文字を書き込んでから以下略

>>87
これがスレチならここは何をするんだ?

◆QZaw55cn4c
消えろゴミクズ

98 :デフォルトの名無しさん:2011/02/07(月) 01:36:33
屁理屈並べて2chで商売しようって奴だ
まともじゃない

99 :デフォルトの名無しさん:2011/02/07(月) 01:37:51
最近ちょくちょく来る質問って全部同一人物の釣りに思えてきた
毎回◆QZaw55cn4cを誘発するし

100 :75・84:2011/02/07(月) 01:42:54
>>96
申し訳ありません。
ご指摘のとおりです。

>>97
実行したい動作としては、その様な感じです。

101 :デフォルトの名無しさん:2011/02/07(月) 01:42:56
http://akatan.cool.ne.jp/jinkaku.htm を見ると

◆QZaw55cn4c は「妄想性人格障害」と「無頓着性自己愛性人格障害」の混合タイプみたいだな

>人格障害とは
>その人の持っている「人格」が常道からはずれてしまって、社会生活に障害を来すものを言います。
>青年期や成人期早期に始まることが多く、長期にわたってその人格が安定しいて、苦痛を伴います。
>この中でその障害が他の精神障害に原因がないものを一般的に人格障害といいます。

もう人間のクズじゃん

102 :デフォルトの名無しさん:2011/02/07(月) 01:44:00
>>75
1.
system("echo `cat file.txt`");

2.
system("awk '{printf(\"%s \", $0);} /pattern/ {print \"\";}' file.txt");

103 :75・84:2011/02/07(月) 01:46:07
大事なことを書いていませんでした。
実行する環境はWindowsServer2008です。

104 : ◆QZaw55cn4c :2011/02/07(月) 01:48:18
>>100
じゃあこれでどうぞ。
http://codepad.org/hYgSwpDr

105 :デフォルトの名無しさん:2011/02/07(月) 01:48:48
>>104


106 :75・84:2011/02/07(月) 01:54:48
データは後から追加したりしたいです。

107 :デフォルトの名無しさん:2011/02/07(月) 01:57:07
>>106
自分で試行錯誤して
それでも出来なかったら聞けよゆとり君

108 :75・84・100 ◆jVRFgvM8AA :2011/02/07(月) 02:00:27
とりあえず、>>92 >>94 >>106 は、私ではありません。

109 :75 ◆Je5emMEibE :2011/02/07(月) 02:12:51
すみません、なんか偽物が多くいるようですが…

>>106 >>108は私ではないです。

110 :デフォルトの名無しさん:2011/02/07(月) 02:15:57
どれでも構わないから書いてみろってwwwww

111 :デフォルトの名無しさん:2011/02/07(月) 02:21:49
おいおまえら
ttp://hibari.2ch.net/test/read.cgi/tech/1295273862/
が面白いことになってるぞwwwww

112 :デフォルトの名無しさん:2011/02/07(月) 03:01:20
絡んでる人の頭悪すぎなのかピュア過ぎなのか知らんけど
絡み方が下手すぎて面白くない

113 :デフォルトの名無しさん:2011/02/07(月) 04:15:50
留年の優越感は異常wwwww

夏と春休みで、理解できなかったプログラミング勉強しまくって
ウハウハwwwwwwwもう職業レベルwwwwスロースターター過ぎ
ワロタwww



後輩の女子にプログラミング教えまくって楽しすぎワロタwww
「先輩何で留年したの?」
"あのさ、俺仮面で東大目指そうとしてんだわ、私大だから授業料
たけーじゃん?でほとんど大学行ってなかったし、でももう諦めたわけ"
「ええ何でですか?」
"いやさ、東大行っても結局1人暮らしで生活費かかるじゃんw?"
「確かに!、かっこいいですね先輩!、先輩ここ教えてください」
"えぇよ、先輩って言わなくていいよ^-^"

可愛すぎワロタwww言い訳かっこよすぎワロタwww
留年してよかったwww

男同士固まって教えあって、必死こいて単位取ってる奴らバロスwwww
そんな奴らが論文wwwwwww童貞wwww

114 :デフォルトの名無しさん:2011/02/07(月) 04:20:32
留年して、頼れる先輩になって女子にもてもて、ついでに単位もオール優
よって飛び級決定wwww絵に描いたような勝ち組過ぎてさーせんww

留年=真の勝ち組は決定事項ww




115 :デフォルトの名無しさん:2011/02/07(月) 10:31:09
おっぱい

116 :デフォルトの名無しさん:2011/02/07(月) 18:06:11


117 :デフォルトの名無しさん:2011/02/07(月) 18:33:27
このpartもキチガイ達の宴会場だな
楽しすぎる

118 :デフォルトの名無しさん:2011/02/07(月) 19:05:58
傍観者のつもりでいるようだけど、君は既にキチガイに足を踏み入れている

119 :デフォルトの名無しさん:2011/02/07(月) 19:37:46
かゆ…うま

120 :デフォルトの名無しさん:2011/02/07(月) 20:12:17


121 :デフォルトの名無しさん:2011/02/07(月) 20:18:19
くせえ

122 :デフォルトの名無しさん:2011/02/07(月) 20:32:56
えせく

123 :デフォルトの名無しさん:2011/02/07(月) 20:39:03


124 :デフォルトの名無しさん:2011/02/07(月) 21:06:21
まう…ゆか

125 :デフォルトの名無しさん:2011/02/07(月) 21:18:31
るいてれ入み踏を足にイガチキに既は君、どけだうよるいでりもつの者観傍

126 :デフォルトの名無しさん:2011/02/07(月) 22:21:32
>>125
ビックエンディアンすぎるだろ

127 :デフォルトの名無しさん:2011/02/07(月) 22:21:37
るぎすし楽
なだ場会宴の達イガチキもtrapのこ

128 :デフォルトの名無しさん:2011/02/07(月) 22:22:22
>>126
お前のせいで全て台無しだ

129 :デフォルトの名無しさん:2011/02/07(月) 22:25:53
>>126
どこから突っ込んでいいのやら

130 :デフォルトの名無しさん:2011/02/07(月) 22:26:40
VIPでやれクズ

131 :デフォルトの名無しさん:2011/02/07(月) 22:30:29
>>129
ビッグなのは>>126の頭だけにしとけ
ってとこだろ

132 :デフォルトの名無しさん:2011/02/07(月) 22:37:23
>>126
リトルエンディアンだろ

133 :デフォルトの名無しさん:2011/02/07(月) 22:39:40
今更だけど久しぶりにcをやろうかなと思いまして、フリーソフトで
いいのないかな?なんか前使ってたボーランドが見当たらなくて 

134 :126:2011/02/07(月) 22:40:17
ごめん
悪気はなかったんです

今度は邪魔しないから、ここからもう一度、がんばってみないか?

135 :デフォルトの名無しさん:2011/02/07(月) 22:41:43
無理だ心折れた

136 :デフォルトの名無しさん:2011/02/07(月) 22:42:40
ぐぐれかす

137 :デフォルトの名無しさん:2011/02/07(月) 22:43:46
おまえは文字を逆に書いて何をしたかったんだ?

138 :デフォルトの名無しさん:2011/02/07(月) 22:44:50
ググレカレーおいしお

139 :デフォルトの名無しさん:2011/02/07(月) 22:45:28
>>1までやろうと思ってたんだ
おまえさえいなければ…ぜったいにゆるさない…

140 :デフォルトの名無しさん:2011/02/07(月) 22:49:27
>>137
キチガイ降臨とアピールしたかったのさ

>>133
ローカルPCにインスコしてなんて言うおっさん時代は終わったよ
ゆとり時代はクラウドでこれよ
http://codepad.org/

141 :デフォルトの名無しさん:2011/02/07(月) 22:50:00
どうすれば許してくれますか?

142 :デフォルトの名無しさん:2011/02/07(月) 22:51:10
謝罪しろ

143 :デフォルトの名無しさん:2011/02/07(月) 22:51:58
◆QZaw55cn4c を呼んできたら許す
あいつ来ないとスレが面白くない

144 :デフォルトの名無しさん:2011/02/07(月) 22:53:44
>>142
横レスだが、134で謝罪してるんじゃね?

145 :デフォルトの名無しさん:2011/02/07(月) 22:56:58
反省の気持ちが伝わってこない
心が伝わってこないので許しません

146 :デフォルトの名無しさん:2011/02/07(月) 22:57:00
>>143
ヌヒよ燃料は自分で投下しろ

147 :134:2011/02/07(月) 22:58:56
>>128
すみませんでした
こころからあなたへ

148 :デフォルトの名無しさん:2011/02/07(月) 22:59:51
ダメだな
心が伝わってこない。むしろ怒りが増した

149 :デフォルトの名無しさん:2011/02/07(月) 22:59:52
◆QZaw55cn4c はことごとく論破されてただいま発狂中です

150 :デフォルトの名無しさん:2011/02/07(月) 23:01:37
うまい法律の抜け穴を探してるんですねwww

151 :デフォルトの名無しさん:2011/02/07(月) 23:04:57
飽きたわ

152 :デフォルトの名無しさん:2011/02/07(月) 23:07:05
つーかこれだけム板の住人に嫌われてんのに平然と書き込みをする
◆QZaw55cn4c の神経は本当にどうかしてると思う
普通だったら恥ずかしくてコテ外すぞ

153 :デフォルトの名無しさん:2011/02/07(月) 23:11:43
>>151=◆QZaw55cn4c

154 :デフォルトの名無しさん:2011/02/07(月) 23:18:13
>>152
お前らのことなど眼中に無いから気にならないにょ♪

155 :デフォルトの名無しさん:2011/02/07(月) 23:19:36
お前らキチガイ好きだなw

156 :デフォルトの名無しさん:2011/02/07(月) 23:21:43
>>154=◆QZaw55cn4c

157 :デフォルトの名無しさん:2011/02/07(月) 23:27:38
おまえらまるで、ハンティングを楽しんでるライオンみたいだな!!

158 :デフォルトの名無しさん:2011/02/07(月) 23:29:58
>>154
お前が眼中になくてもこっちが迷惑してると言ってんだよ
本当に頭おかしいなお前!
とっとと精神科逝け

159 :デフォルトの名無しさん:2011/02/07(月) 23:30:12
キチとそれを馬鹿にしている馬鹿だろ

160 :デフォルトの名無しさん:2011/02/07(月) 23:31:12
   ○○○
  ○ ・ω・ ○ 
   ○○○
  .c(,_uuノ

161 :デフォルトの名無しさん:2011/02/07(月) 23:33:41
とびかうブーメラン

162 :デフォルトの名無しさん:2011/02/07(月) 23:34:15
他のスレの実況なんかどうでもいい
2ちゃんで顔が広いの自慢する奴とかキモすぎるし

163 :デフォルトの名無しさん:2011/02/07(月) 23:35:11
いきなりどうしちゃったの>>162

164 :デフォルトの名無しさん:2011/02/07(月) 23:41:07
急に◆QZaw55cn4cを擁護する人間が現れ始めたな
◆QZaw55cn4cのスレで◆QZaw55cn4cが論破されてからこの流れ
はてさて^^

165 :デフォルトの名無しさん:2011/02/07(月) 23:41:45
◆QZaw55cn4c はご覧のように極めて性格が悪く、リアルで友達が一人もいないので
ここに構ってもらいに来ているのです

しかもあまりの性格の悪さと耐久力の無さに、いい年をして未だに無職で、新しいPCを
買う金もないのでPenV800MHzという時代遅れもいいマシンを使っています

166 :デフォルトの名無しさん:2011/02/07(月) 23:43:42
その証拠に◆QZaw55cn4cにSSE2ベンチマークについて質問してみるといいでしょう
答えられませんからwww

167 :デフォルトの名無しさん:2011/02/08(火) 00:22:08
モリタポ貯めてオンボロパソコンの買い替えを夢見るおっさん
かわいちょーwww

168 :デフォルトの名無しさん:2011/02/08(火) 05:16:19
>>76はfloatを引数に渡し、意図したとおりに出力される点において、なんら間違っちゃいない。
内部でdoubleに格上げされることを言及する場面でもないだろ。
Qなんとかがせっせとレスしてたみたいだが。

169 :デフォルトの名無しさん:2011/02/08(火) 05:17:42
とおもったら格上げされることについて噛み付いてんのか。俺盲目ですまん

170 :デフォルトの名無しさん:2011/02/08(火) 05:18:20
>>168
> ちなみに float f = 10 + 3; は、int から float に変換して正しく 13.0 が f に
> 入るけど、printf() の引数はその手の変換はしない。
> (フォーマット文字列が可変なんていうケースもあるから。)

イジメヨクナイ

171 :デフォルトの名無しさん:2011/02/08(火) 06:50:51
なんだこの流れは?と思ったらQなんとかが偉そうに誤解等かよ
printfの"%f"はdoubleにcastされるのか?
こりゃ新しいコンパイラが必要だなw

172 :デフォルトの名無しさん:2011/02/08(火) 07:45:51
↑こいつさいこーにばかw

173 : ◆QZaw55cn4c :2011/02/08(火) 08:01:21
>>171
昔からそうです。コンパイラを変える必要はないでしょう。この手の話は >>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ノートでリーズナブルなのがあれば使用感とともに教えていただけると嬉しいです。

174 :デフォルトの名無しさん:2011/02/08(火) 08:01:26
printf()などの可変個数引き数の場合やプロトタイプ宣言がない場合、引き数の型は
intよりも小さい整数型は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);

175 :デフォルトの名無しさん:2011/02/08(火) 09:26:25
>>172
>>173
わざわざコテ外して暴言吐いてから書き込む◆QZaw55cn4cさんぱねぇッス!!!”!!!!!!!!

176 :デフォルトの名無しさん:2011/02/08(火) 09:30:29
>>173
MacBookAirでいいじゃん。

177 :デフォルトの名無しさん:2011/02/08(火) 09:31:56
>>173
リーズナブルって、金も無いのに買えるの?出来もしない事を言っちゃいけませんよ^^

178 :デフォルトの名無しさん:2011/02/08(火) 09:43:22
>>175
無理だろ。
MacBookAirの値段を500円で割ってみろよ…何年後になるんだよ

179 :デフォルトの名無しさん:2011/02/08(火) 09:45:55
>>173
リーズナブルわろたw
無一文でそのセリフは完全にギャグだろw

180 :デフォルトの名無しさん:2011/02/08(火) 09:48:25
乞食の見栄とか言うなよ。失礼だぞ!

181 :デフォルトの名無しさん:2011/02/08(火) 11:37:20
哀れな中年ニート ◆QZaw55cn4c

182 :デフォルトの名無しさん:2011/02/08(火) 11:39:39
http://www.bspeedtest.jp/みたいに速度を計る仕組みを教えてください

183 :デフォルトの名無しさん:2011/02/08(火) 12:38:14
◆QZaw55cn4c氏ね

184 :デフォルトの名無しさん:2011/02/08(火) 12:40:35
>>182
データを転送する。
時間を計る。
おわり。

185 :デフォルトの名無しさん:2011/02/08(火) 12:45:29
論破された、という意味では、
http://hibari.2ch.net/test/read.cgi/tech/1295273862/61
が決定的な有効打でした。これには参りました。

186 :デフォルトの名無しさん:2011/02/08(火) 12:47:43
173 : ◆QZaw55cn4c :2011/02/08(火) 08:01:21
>>171
ちんちんシュッシュッ

って書くと、楽しんでいただけますか?

187 :デフォルトの名無しさん:2011/02/08(火) 13:25:26
>>184
データって何を転送したらいいですか?

188 :デフォルトの名無しさん:2011/02/08(火) 13:26:39
>>187
いい加減スレ違い

189 :デフォルトの名無しさん:2011/02/08(火) 13:48:12
>>188
そうでしたか
どこで聞いたらいいですかね?

190 :デフォルトの名無しさん:2011/02/08(火) 13:55:08
>>189
http://hibari.2ch.net/test/read.cgi/tech/1295273862/

191 :デフォルトの名無しさん:2011/02/08(火) 15:16:13
>>189さん宿題をやってくださいって話ではないです

192 :デフォルトの名無しさん:2011/02/08(火) 15:20:22
まさに自問自答

193 :デフォルトの名無しさん:2011/02/08(火) 15:21:38
触らぬキチガイに祟り無しだよ

194 :デフォルトの名無しさん:2011/02/08(火) 15:25:25
>>193=◆QZaw55cn4c

195 :デフォルトの名無しさん:2011/02/08(火) 20:48:35
何かパタッと書き込みが止まったなw

自作自演してたのはほとんど◆QZaw55cn4cだったってオチ?

196 :デフォルトの名無しさん:2011/02/08(火) 21:18:46
◆QZaw55cn4cを擁護する書き込みは◆QZaw55cn4c本人によるもの
普段トリップを外さないのは他人を装いやすくするため

197 :デフォルトの名無しさん:2011/02/08(火) 21:34:34
Q、恥ずかしい過去(>>71>>76)を消すにはどうしたらいいですか?
A、スレッドを流せばいい

Q、連投すると荒らし扱いされる危険もあるのでは?
A、◆QZaw55cn4cをダシに使えばいい

198 :デフォルトの名無しさん:2011/02/08(火) 21:38:11
Q、さすがにバレバレでは?
A、突っ込む奴=◆QZaw55cn4cでおk

199 :デフォルトの名無しさん: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で数字が微妙に違うんですがなぜですか
順番が関係してるのはわかりますが詳細希望です

200 :デフォルトの名無しさん:2011/02/08(火) 22:01:27
>>199
>printf("a=%d , a++=%d , ++a=%d\n",a,a++,++a);
>printf("b=%d , ++b=%d , b++=%d\n",b,++b,b++);

こんな風に変数呼び出しに複数の引数を指定した場合はその評価順序については
規定がないから

201 :デフォルトの名無しさん:2011/02/08(火) 22:05:16
ぱぁぷぅ

202 :デフォルトの名無しさん:2011/02/08(火) 22:05:31
共通の変数使うなよ未定義になるから

203 :デフォルトの名無しさん:2011/02/08(火) 22:06:32
>>199
1行で複数の副作用が発生する場合、どの順番で処理するのかは環境依存。
その例で言えば、決まった結果になるのはaとbの最終的な値のみ。

204 :デフォルトの名無しさん:2011/02/08(火) 22:06:33
>>200
規定がないってことは環境によってもでてくる数値が違ってくる可能性があるってことですか

205 :デフォルトの名無しさん:2011/02/08(火) 22:08:51
>>203で出てました失礼
ありがとうございました

206 :デフォルトの名無しさん:2011/02/08(火) 22:11:38
1行って説明をそのまま額面どおりとっちまいそうな調子だな

207 :デフォルトの名無しさん: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.

208 :デフォルトの名無しさん:2011/02/08(火) 22:19:15
>>199について
◆QZaw55cn4c、 コメントをどうぞ

209 :デフォルトの名無しさん:2011/02/08(火) 22:20:16
要するに引数の評価順序に依存する部分は関数呼び出しの外に出せって事だな

210 :デフォルトの名無しさん:2011/02/08(火) 22:41:08
197 :デフォルトの名無しさん:2011/02/08(火) 21:34:34
Q、恥ずかしい過去(>>71>>76)を消すにはどうしたらいいですか?
A、スレッドを流せばいい

Q、連投すると荒らし扱いされる危険もあるのでは?
A、◆QZaw55cn4cをダシに使えばいい


198 :デフォルトの名無しさん:2011/02/08(火) 21:38:11
Q、さすがにバレバレでは?
A、突っ込む奴=◆QZaw55cn4cでおk

211 :199:2011/02/08(火) 22:47:06
>>206
「;」で区切るまでってことですかね?
>>209
関数呼び出しの外に出すっていうのは具体的にどう書くのですか

212 :デフォルトの名無しさん:2011/02/08(火) 22:49:44
#include<stdio.h>
int 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なんて言葉ありませんよ?どういうことでしょう

213 :デフォルトの名無しさん:2011/02/08(火) 22:51:24
>>211
何怒ってんだよ。落ち着けってww

a++;
printf("%d",a);

みたいに分けろって事なんじゃね

どっちにしろprintf("%d %d\n",a++,a++);とかは
コンパイラによって評価の仕方が違うから理解する必要ない

というかやってはいけないと理解するべき

214 :デフォルトの名無しさん:2011/02/08(火) 22:51:52
>>212
日本語のところがあやしくね?

215 :デフォルトの名無しさん:2011/02/08(火) 22:53:04
>>212
エラー文を出てきたまま書いて下さい

216 :デフォルトの名無しさん:2011/02/08(火) 22:54:42
>>213


217 :デフォルトの名無しさん:2011/02/08(火) 22:56:52
>>212
5行目が全角セミコロン

218 :デフォルトの名無しさん:2011/02/08(火) 22:57:31
マジだわろたw

219 :デフォルトの名無しさん:2011/02/08(火) 22:58:54
>>211
例えば
>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);

220 :199:2011/02/08(火) 23:00:14
>>213
ごめん全然怒ってないんだけど、>>212の間違いかな。
なるほど、変数が同じときは一個一個分けて書くってことですか。
「,」で続けるのはやってはいけないって覚えておくことにします。

221 :デフォルトの名無しさん:2011/02/08(火) 23:02:11
>>219
あ、これじゃaの値が変わってしまうからaも保存しとかなきゃ

>int aa = a;
>int b = a++;
>a = aa;
>int c = ++a;
>printf("a=%d , a++=%d , ++a=%d\n", aa, b, c);

222 :デフォルトの名無しさん:2011/02/08(火) 23:09:38
「国民諸君、同志諸君、最後まで戦い続ける諸君に敬意を表する。すでに戦況は……私はベルリンと運命をともに……
しかしナチスは不滅である……たとえ米ソがいったんは勝つように見えようとも……。
そうなのだ、それは砂の上の勝利だ。彼らは世界の真の支配者ではないからだ。彼らの背後で操る者……ユダヤ……イスラエル……

世界的なユダヤ国際資本……。米ソは……おそらく1990年代ごろまで、対立と妥協を繰り返しつつ、世界を運営しようとする。
しかし所詮……ヨーロッパと日本、東アジア、イスラム諸国、インド……いずれ世界は米ソの手に負えなくなる。
そのときユダヤはみずから……に乗り出す。

哀れなアラブ4カ国……最終戦争。東西が激突するだろう。
ユダヤはそれに勝って全世界……なぜならそれが彼らの『旧約聖書』の約束だからだ。
黙っておけば必ずそうなる。しかし、私がそうはさせない。そのための手を、私は死ぬ前に打っておく。
それが最後の秘儀である。それによって人類はわれわれを受け継ぐことになる。
しかも見よ、そのあと、わがナチスの栄光、ラストバタリオン……。
それが真のハーケンクロイツの日だ。カギ十字の日だ。そのときラストバタリオンが現われる。ユダヤを倒す。
世界を支配する。永遠に……そしてナチスは甦る。真のヒトラーの時代が来る。必ずだ。
甦ったナチスの軍団とその強力な同盟がそのとき来る。宇宙からの復讐のカタストロフィとともに来るぞ。それからが真の究極だ。
真の終わりで真の始まり、真の淘汰、天国の地獄、21世紀のその年に、人類の驚くべき究極の姿……ではそれを明かそう。諸君、それは人類……」

223 :デフォルトの名無しさん:2011/02/08(火) 23:40:13
>>212
while(sum > 0);
これ怖い。

224 :デフォルトの名無しさん:2011/02/08(火) 23:49:41
>>223
どう怖いんですか?

225 :デフォルトの名無しさん:2011/02/08(火) 23:51:05
>>224
マイナスの値を入力したら下手をすると永久ループに飛び込む
環境依存だけど

226 :デフォルトの名無しさん:2011/02/08(火) 23:52:15
しかし-1を10で割ってマイナスになる環境はさすがにないだろ

227 :デフォルトの名無しさん:2011/02/08(火) 23:53:09
永久ループになったときってコンソールターミナルどうしたらいいんですか?

228 :デフォルトの名無しさん:2011/02/08(火) 23:54:38
>>227
OSによって全然違うからOSマニュアルみたら
Windows DOS窓ならCtrl+C
Windows GUIならタスクマネージャから落とす

229 : ◆QZaw55cn4c :2011/02/09(水) 00:02:56
>>220
関数の区切りの , (コンマ)はたしかに注意すべきということでそのとおりなのですが、
順次演算子のコンマ(というのもあります。)については、これは副作用完了点(sequence point) です。
順次演算子の左で発生した副作用(++ とか -- とか)は、順次演算子のところで確定します。
副作用完了点となるのは、&&, ||, ?:(三項演算子/条件式)と順次演算子のコンマです。

そういうものもあるということで、一応コメントしておきます。

230 :デフォルトの名無しさん:2011/02/09(水) 00:02:57
>>227
そのターミナルで Ctrl-C するか、別のターミナルから
ps や top で プロセス ID を探して、kill -9 <PID> する。

231 :デフォルトの名無しさん:2011/02/09(水) 00:04:19
>>229
氏ね

232 :デフォルトの名無しさん:2011/02/09(水) 00:04:25
>>229
そんなもん知っとるわカス

233 :デフォルトの名無しさん:2011/02/09(水) 00:05:21
229 : ◆QZaw55cn4c :2011/02/09(水) 00:02:56
>>220
関数の区切りの , (コンマ)はたしかに注意すべきということでそのとおりなのですが、
順次演算子のコンマ(というのもあります。)については、これは副作用完了点(sequence point) です。
順次演算子の左で発生した副作用(++ とか -- とか)は、順次演算子のところで確定します。
副作用完了点となるのは、&&, ||, ?:(三項演算子/条件式)と順次演算子のコンマです。

そういうものもあるということで、一応コメントしておきます。

234 :デフォルトの名無しさん:2011/02/09(水) 00:08:04
◆QZaw55cn4cはやっぱり精神状態おかしいよこいつ
何か一言いちゃもんを付けなければ気が済まないアホだなこいつは

235 :デフォルトの名無しさん:2011/02/09(水) 00:11:43
そんなに知識をひけらかしたいか
と言いたいところだけど、その「知識」も常識レベルだからそんなドヤ顔で書かれても寒いだけ

236 :デフォルトの名無しさん:2011/02/09(水) 00:14:04
おまいら本当に優しいんだなあ
単に暇なだけじゃこうまで突っ込みは出来ないよな

237 :デフォルトの名無しさん:2011/02/09(水) 00:15:16
突っ込みは◆QZaw55cn4cの独断場

238 :デフォルトの名無しさん:2011/02/09(水) 00:17:20
>>236
だって、大基地に群がるキチガイだからな

239 :デフォルトの名無しさん:2011/02/09(水) 00:18:01
>>236==>>238==◆QZaw55cn4c

240 :デフォルトの名無しさん:2011/02/09(水) 00:18:38
◆QZaw55cn4c糞すぎワロタ

241 :デフォルトの名無しさん:2011/02/09(水) 00:19:27
>>239==大基地に群がるキチガイ

242 :デフォルトの名無しさん:2011/02/09(水) 00:19:46
>>241==◆QZaw55cn4c

243 :デフォルトの名無しさん:2011/02/09(水) 00:20:30
わかりやすすぎる
◆QZaw55cn4cは頭に血が上ると見境が付かなくなる馬鹿ですね

244 :デフォルトの名無しさん:2011/02/09(水) 00:21:59
◆QZaw55cn4cは自分のスレで引きこもって金儲けでもしてろよ

245 :デフォルトの名無しさん:2011/02/09(水) 00:25:15
こいつ近い将来犯罪を犯しそうなタイプだよな
おーこわ

246 :デフォルトの名無しさん:2011/02/09(水) 00:31:53
基地外がいっぱい

247 :デフォルトの名無しさん:2011/02/09(水) 00:32:50
衒学的ってことだな

248 :デフォルトの名無しさん:2011/02/09(水) 00:34:02
正規分布にのっとった乱数がほしい

249 :デフォルトの名無しさん:2011/02/09(水) 00:48:35
◆QZaw55cn4cは糞

250 :デフォルトの名無しさん:2011/02/09(水) 01:01:41
void mem_cpy(void *dst,void *src,u_int size){
     char *p1 = *dst;
     char *p2 = *src;
     while(size--){
          *p1** = *p2++;
     }
}
基本的なソースはこういう形として,
こういう形で,エンディアンの問題を回避する方法ってある?

251 :デフォルトの名無しさん:2011/02/09(水) 01:03:45
>>250
C言語でないものはスレ違い

252 :デフォルトの名無しさん:2011/02/09(水) 01:05:16
>>250
エンディアンの問題って、何を「問題」だと思ってるの?

それによって解答は変わる。

253 :デフォルトの名無しさん:2011/02/09(水) 01:07:34
sscanf( str,"<hogehoge='111'><hogehoge=\"unkunk\">%I64</hogehoge><return type=\"string\">%s</return></result>",&did, buf);

bufに何も入らないんだけど何が悪いんだ?

254 :デフォルトの名無しさん:2011/02/09(水) 01:08:27
bufの型

255 :253:2011/02/09(水) 01:09:56
char buf[256];

256 :デフォルトの名無しさん:2011/02/09(水) 01:11:42
>>253
sscanf のリターンコードを見るんだ

257 :デフォルトの名無しさん:2011/02/09(水) 01:12:16
strの内容も見たいよ

258 :デフォルトの名無しさん:2011/02/09(水) 01:13:48
>>253
その%sだと空白文字(' ', '\n', '\t')を含む文字列は取り込めないが大丈夫か?
逆に、</return>の前に空白がないとくっついてしまうが大丈夫か?
"%s"の代わりに"%255[^<]"にでもした方がいいかも試練。

259 :デフォルトの名無しさん:2011/02/09(水) 01:14:00
http://hibari.2ch.net/test/read.cgi/tech/1295273862/

260 :デフォルトの名無しさん:2011/02/09(水) 01:19:50
>>259
糞ワロタw

261 :デフォルトの名無しさん:2011/02/09(水) 01:20:20
>>258
良レス

262 : ◆QZaw55cn4c :2011/02/09(水) 01:20:31
>>253
%I64d

263 :250:2011/02/09(水) 01:23:05
組み込みをするときに
エンディアンの違うコンピュータで動作させることになって,
エンディアンの違いによってコピー結果が変わる事象です

264 :デフォルトの名無しさん:2011/02/09(水) 01:23:52
<hogehoge='111'><hogehoge=\"unkunk\">4503599628031276</hogehoge><return type="string">@Unk_dayo</return></result>
↑こんな感じのがポインタでくるから
sscanf( str,"<hogehoge='111'><hogehoge=\"unkunk\">%I64</hogehoge><return type=\"string\">%s</return></result>",&did, buf);
で@Unk_dayoをとりたいんです


265 :デフォルトの名無しさん:2011/02/09(水) 01:29:03
>>262
>>258
ありがとうございます



266 :デフォルトの名無しさん:2011/02/09(水) 01:33:40
面倒臭がらないで自分でstrtokで解析しろよ

267 :デフォルトの名無しさん:2011/02/09(水) 01:38:22
やだ

268 :デフォルトの名無しさん:2011/02/09(水) 01:40:24
じゃあ正規表現ライブラリでもリンクしろ

269 :デフォルトの名無しさん:2011/02/09(水) 01:50:58
C#ならregex付いてるのになあ
C使いは大変だな

270 :デフォルトの名無しさん:2011/02/09(水) 01:54:39
明後日の方向で優越感に浸ってる人が居るw
Cを知らないと大変だな

271 :デフォルトの名無しさん:2011/02/09(水) 02:01:22
>>263
エスパーすると
#ifdef BO_UNIX
# define READ2LE ...
# define READ4LE ...
# define READ8LE ...
# define READ2BE ...
...
#elif defined BO_XINU
# define READ4LE ...
...
#endif
などのマクロを介せばいい

272 :デフォルトの名無しさん:2011/02/09(水) 02:05:08
>>263
>>250においては問題ない。その問題は外で解決すべき

273 :デフォルトの名無しさん:2011/02/09(水) 02:33:35
C言語プログラミングの初歩の初歩という本を読んでるんですが
P.74でscanfは変数に値を読み込むときは変数名の先頭に&をつけると書いてあるんですが
P.191をみるとscanf("%s",input);なんてかいてあるんですが
&を書く場合と書かない場合について教えてください。

274 :273: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);
}

275 :デフォルトの名無しさん:2011/02/09(水) 03:02:47
>>274
c
&c
&c[0]
&0[c]
どれも等価だから。

276 :デフォルトの名無しさん:2011/02/09(水) 03:04:57
>>275
&c は型が違う

277 :デフォルトの名無しさん:2011/02/09(水) 03:08:13
char c[81]; としたとき、cは&c[0]と同じ意味。
&cはちょっと特殊で、生み出されたポインタの型がちがうんだけど、
それを活用する場面はあまりないし、上記のいずれかを使えばいいよ。

&をつけるかどうかについては、引数にポインタを渡さなければならないという観点でみると
整理できるかも。

278 :デフォルトの名無しさん:2011/02/09(水) 03:09:26
あら、レスついてた。スレ汚しスマソ。

279 :デフォルトの名無しさん:2011/02/09(水) 03:09:48
あぁ、確かにそうだな
スマン


280 :デフォルトの名無しさん:2011/02/09(水) 03:13:32
一生懸命全部WCHARにして
while (fgetws(data, 1000, fp) != NULL){したらここで1回はブレークポイントで止まるのですがその後落ちます。次の行では止まりません。(WCHAR data
次の行swscanf_s(data,L"%s ; %s ; %s ; %d ; %d ; %d",&変数〜
どうしてでしょうか?

281 :デフォルトの名無しさん:2011/02/09(水) 03:17:31
開いてるファイルはunicodeで記述されてるの?

282 :デフォルトの名無しさん:2011/02/09(水) 03:22:28
&cをインクリメントすると81バイト進むんですか?

283 :273:2011/02/09(水) 03:24:48
ポインタとか型とかを知らないと理解できないってことか…

284 :デフォルトの名無しさん:2011/02/09(水) 03:25:09
>>280
うせろクズ

285 :デフォルトの名無しさん:2011/02/09(水) 03:26:53
>>280
荒らしないでくだちい

286 :デフォルトの名無しさん:2011/02/09(水) 03:29:30
>>283
関数に変数の値を変えてもらうには変数のアドレスを渡さないといけないんだよ。
ただ配列の場合はchar a[16]とするとaと書くだけで配列の先頭のアドレスを意味するからscanfでもaだけで良い。

287 :デフォルトの名無しさん:2011/02/09(水) 03:32:20
>>283
しばらくポインタ型の変数を宣言する予定がないなら、
配列は配列名を渡す(&をつけない)
配列ではない場合は&をつける
でいいよ。

288 :デフォルトの名無しさん:2011/02/09(水) 03:33:58
>>282
そうです。
配列のアドレスだからです

289 :デフォルトの名無しさん:2011/02/09(水) 03:35:30
>>281
ありがとうございます
.txtのファイルを読み込んでいるので、読み込むテキストをメモ帳でunicodeで保存しなおしましたが
やはり同じ所で落ちます。

290 :デフォルトの名無しさん:2011/02/09(水) 03:43:32
>>289
dataの宣言は?
というか再現できるコードもらったほうが早いかも。

291 :デフォルトの名無しさん:2011/02/09(水) 03:49:17
>>282
インクリメントされるのでテストコードを書いてみる勉強をどうぞ

292 :デフォルトの名無しさん:2011/02/09(水) 03:51:46
落ちた理由を調べるのが手っ取り早いと思うけどね。
なに、coreファイルが作成されていない?

293 :デフォルトの名無しさん:2011/02/09(水) 03:52:03
>>290
すみません。
ファイルの読み込み時に
if ( (fp = fopen(readfile, "r") )== NULL){終了i}から
if ( _wfopen_s(&fp,readfile, L"r")== NULL){終了}に変えた時に!=としなかったので正常終了ならNULLが帰るため正常終了していないのに終了していませんでした
ありがとうございました

294 :デフォルトの名無しさん:2011/02/09(水) 03:55:19
>>293
解決してよかった。続きをがんばれ。

295 :デフォルトの名無しさん:2011/02/09(水) 03:57:40
_wfopen_sの直後に終了してるならfgetwsの行にこないと思うが、まぁいいか。

296 :273:2011/02/09(水) 04:05:08
>>286-287
理解できそうでできない…
関数はint main(){}のことで
変数ってのはc[81]で
配列の先頭のアドレスってchar a[16]の場合はa[0]のことでしょ
その理論で行くとscanf("%s",a[0])でscanf("%s",a)と同じってことだよね
でもa[0]に文字列って入らないと思う…入るのって1文字だけ?
プログラミングは始めたばっかだけどポインタ型の変数ってやつは近いうちにやってみたいな

297 :デフォルトの名無しさん:2011/02/09(水) 04:11:28
> 関数はint main(){}のことで
mainも関数だし、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文字だけ?
そのとおり。

298 :デフォルトの名無しさん:2011/02/09(水) 04:13:41
>>296
>その理論で行くとscanf("%s",a[0])でscanf("%s",a)と同じってことだよね

違うよ。
aと等価なのは&a[0]。

299 :273:2011/02/09(水) 04:40:34
>>297-298
なるほど、そういうのを全部関数っていうのか

要素とアドレスを間違えていたせいで変なことを言ってしまいました
この本340ページもあるのにアドレスなんて言葉ひとことも書いてない…
>>277の文が理解できるまでネットで調べて頑張ってみます。

300 :デフォルトの名無しさん:2011/02/09(水) 04:46:27
>>296
可能ならば、一番最初にポインタ(メモリアドレスの概念)を学んだ方がいい
実用的なCプログラムは、ほぼ全てがアドレスありきだから
頭の中でメモリをイメージ出来さえすればポインタなんて難しくもなんともなくなるよ

301 :デフォルトの名無しさん:2011/02/09(水) 06:44:34
do while のwhileにはwhile();
;がつくのに

普通のwhile(){}には
while();とならない。

何故ですか?

302 :デフォルトの名無しさん:2011/02/09(水) 08:50:19
>>301
while (条件) ; // 実行文がない。
この場合はセミコロンが必要です。同じことは
do {} while (条件) ;
とも書けます。やっぱりセミコロンが必要ですね。問題ありません。

303 :デフォルトの名無しさん:2011/02/09(水) 08:59:36
>>302
ありがぷー

304 :デフォルトの名無しさん:2011/02/09(水) 09:04:54
do ; while (1);

305 :デフォルトの名無しさん:2011/02/09(水) 11:30:36
>>262
あ、お前は氏んでください

306 :デフォルトの名無しさん:2011/02/09(水) 16:57:42
ぷっぷー

307 :デフォルトの名無しさん:2011/02/09(水) 17:11:52
ぷっぷー

308 :デフォルトの名無しさん:2011/02/09(水) 18:01:05
直ったのか

309 :デフォルトの名無しさん:2011/02/09(水) 18:05:53
直ったのか

310 :デフォルトの名無しさん:2011/02/09(水) 18:13:48
直ってない

311 :デフォルトの名無しさん:2011/02/09(水) 19:40:11
直ってない

312 :デフォルトの名無しさん:2011/02/09(水) 19:51:16
直ってない

313 :273:2011/02/09(水) 20:20:45
結局メモリとアドレスについてよくわからないんだけど
int a;
a=5;
とやるとメモリとかアドレスとかはどういう動きをするの?
ポインタはアドレスを記憶するための変数って認識で合ってると思うけど。


314 :デフォルトの名無しさん:2011/02/09(水) 20:21:26
メモリもアドレスも別に動きはしない

315 :デフォルトの名無しさん:2011/02/09(水) 20:38:35
変数のサイズ分の領域を確保するだけ

316 :デフォルトの名無しさん:2011/02/09(水) 20:49:01
>>313
こういう単純な問いが実は一番答えにくかったりする
ポインタについて聞かれた日にゃどう説明していいやら

317 :デフォルトの名無しさん:2011/02/09(水) 20:55:03
>>313
計算機の基礎からやり直せ

318 :デフォルトの名無しさん:2011/02/09(水) 20:57:45
メモリは運動しないが
信号に応答するという意味で「動く」ぞ

319 :273:2011/02/09(水) 21:06:16
int a;でまず0x65fdf4というアドレスが確保されて
メモリの0x65fdf4というアドレスにaという変数が記憶される。
ここまでは合ってると思うんだけど
a=5;ではさらに0x~~1というアドレスが確保されて
メモリの0x~~1というアドレスに5という値が記憶されて
0x65fdf4と0x~~1が同じものをさしてますよという情報を
記憶するアドレス0x~~2があるってことですか

320 :デフォルトの名無しさん:2011/02/09(水) 21:21:20
さらに確保されない
変数 a のアドレスが 0x65fdf4 なら、
a=5 はアドレス 0x65fdf4 のメモリ領域に数値 5 を記憶するだけ

321 :273:2011/02/09(水) 21:31:15
0x65fdf4のメモリ領域っていうのは変数 a 1文字だけじゃなく
変数aが5だという情報を記憶できるってことか

322 :デフォルトの名無しさん:2011/02/09(水) 21:37:04
「a」とかいう変数の名前は、コンパイル後のプログラム(exeファイル)からは消え去っているので、それを覚える領域は要らない
値を記憶する領域だけが必要で、それが変数のアドレス

323 :デフォルトの名無しさん:2011/02/09(水) 21:40:27
>>321
0x65fdf4は俺の家の住所
変数 aは俺の家名前
変数aが5は俺の家にいる奴

324 :デフォルトの名無しさん:2011/02/09(水) 21:42:25
家に名前をつけるのって喩えになってるの?そんな奴、存在するの?

325 :デフォルトの名無しさん:2011/02/09(水) 21:51:51
この辺はどうやって説明したら良いか難しいよね

326 :デフォルトの名無しさん:2011/02/09(水) 21:57:22
コンピューターはメモリーを持っている。
メモリーはアドレスと値を対応付けて記憶できるようになっていて、アドレスを指定して対応する値を読み出すことが出来るようになっている。
アドレスは例えば0x0065fdf4(16進数)のような32ビットの数字で表されるが、人間には分かりにくいのでaとかという別名をつける。
ただ、aと書いてしまうと今度はコンピュータが理解できなくなるので、
人間がaに5を記憶させるつもりで、a = 5; と書いたもの(ソースコード)を、0x0065fdf4に5を記憶しろとコンピュータへの命令(機械語)に変換するのがコンパイラ。

327 :デフォルトの名無しさん:2011/02/09(水) 21:59:16
>>321
自分でお絵かきすればすぐに理解できるからやってごらん。

メモリは1列に並んだ箱の集まり。
それぞれの箱に番号を振ると箱1や箱2となるが、その番号部分がアドレス。
そして箱の中には「数値」だけしか入れられない。

その箱の中の「数値」を機械に「どう解釈させるか?」を決めるのが型。
int aなら、箱の中身は符号付整数と機械は解釈する。
int *aなら、箱の中身は他の箱番号を指している、つまりint型へのポインタと機械は解釈する。

328 :デフォルトの名無しさん:2011/02/09(水) 22:01:43
int a、int *aと箱の関係が分からない。

329 :デフォルトの名無しさん:2011/02/09(水) 22:07:15
いい加減みんな釣られすぎw

330 :デフォルトの名無しさん:2011/02/09(水) 22:12:03
ゲソ!

331 :デフォルトの名無しさん:2011/02/09(水) 22:16:47
何でも釣りとか言われたら機能しないぞw

332 :デフォルトの名無しさん:2011/02/09(水) 22:17:40
C言語の本スレでやってください
http://hibari.2ch.net/test/read.cgi/tech/1295273862/

333 :デフォルトの名無しさん:2011/02/09(水) 22:20:04
>>328
つまり、int aもint *aも、実際はどこかの箱(アドレス)を指しているにすぎない。
箱自体なのか中身なのか、その違いを識別させるのが型ってこと。

334 :273:2011/02/09(水) 22:24:46
>>326-327
なるほど、理解できたと思う
>>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という値が入った状態になるってことだな

335 :デフォルトの名無しさん:2011/02/09(水) 22:28:32
Exactly!

336 :デフォルトの名無しさん:2011/02/09(水) 22:31:19
箱wwwwwwwwwwwwwwwwwww

337 :デフォルトの名無しさん:2011/02/09(水) 22:34:36
箱?

338 :デフォルトの名無しさん:2011/02/09(水) 22:36:05
>>334
>>273の話に戻ると、誰かに箱の中身を変えさせたいときに
中身だけを渡してもしょうがないわけで、箱自体を渡す必要がある。
だからscanf()では、「箱の中身を指している変数」ではそのアドレスを渡さなきゃならない。
配列の場合はもともと先頭のアドレスを指しているので、&は不要、というわけ。

339 :273:2011/02/09(水) 22:50:54
>>338
そういうことか
アドレスとメモリを理解したらわかるようになりました
みんなありがとう

340 :デフォルトの名無しさん:2011/02/09(水) 23:55:26
線形リスト構造の使い方について質問です。
http://codepad.org/jwQMESxZ
1. mallocの使い方はあっていますか。
2. 解放はちゃんとできていますか。
どうぞよろしくお願いいたします。

341 :デフォルトの名無しさん:2011/02/10(木) 00:11:53
>>340です。
C言語初心者質問総合
http://yuzuru.2ch.net/test/read.cgi/pc2nanmin/1080308026/
誰かが↑にコピーを張り付けていますがこれ私じゃないです。
だれですか orz

342 :デフォルトの名無しさん:2011/02/10(木) 00:17:07
マルチすんなボケ

343 :デフォルトの名無しさん:2011/02/10(木) 00:20:30
許せんな

344 :デフォルトの名無しさん:2011/02/10(木) 00:21:11
許せんよ

345 :デフォルトの名無しさん:2011/02/10(木) 00:23:27
>>341
自分でしたくせに

346 :デフォルトの名無しさん:2011/02/10(木) 00:26:45
あわよくばそっちのスレで答えを得ようとしたんだな

347 :デフォルトの名無しさん:2011/02/10(木) 00:36:11
うむ

348 :デフォルトの名無しさん:2011/02/10(木) 01:18:17
基本挿入法のソートのステップについてお聞きしたいのですが
       
3 2 4 5 1を小さいものから並べる時に
i j p ←コレ
3 2 4 5 1

ってなんですか?

349 :デフォルトの名無しさん:2011/02/10(木) 01:28:26
エスパーさん出番です

350 :デフォルトの名無しさん:2011/02/10(木) 01:51:00
>>324
俺の家、エグゼクティブあばら家って名前がついてるよ

351 :デフォルトの名無しさん:2011/02/10(木) 01:55:56
マジレスでお願いしますが、C言語使ってると有利になる仕事ありませんか?
どうせ技術だけもっていて知恵がないと何をやっても中途半端に終わるという
意見は無しでお願いします。

今は学生なんでアルバイトでもいいです、何か有利なことありますか?
ゲーム作って売るとかどうでしょう?

352 :デフォルトの名無しさん:2011/02/10(木) 02:00:32
え?

353 :デフォルトの名無しさん:2011/02/10(木) 02:05:34
>>340 != >>341-347(自演)
だなたぶん。

354 :デフォルトの名無しさん:2011/02/10(木) 02:06:31
>>348
それ基本挿入法じゃないんじゃない?
挿入ソートなら変数は 3 つも要らないと思われ。

i : 調査対象となっている位置
j : 比較対象となっている位置

で十分かと。

355 :デフォルトの名無しさん:2011/02/10(木) 02:06:45
>>351
Cを使う仕事でないとだめ?
Cをちゃんと理解できてるかどうかはその人の素養をみるためのいいバロメーターになるけれど。

356 :デフォルトの名無しさん:2011/02/10(木) 02:08:56
だめ

357 :デフォルトの名無しさん:2011/02/10(木) 02:09:51
C言語を使う仕事で、C言語を使えることは何も有利に働かないよ。

358 :デフォルトの名無しさん:2011/02/10(木) 02:10:38
『C だけ知っている学生がお金を稼ぐ道はあるか』という命題で良いのかな

Java だけ、JavaScript だけ、PHP だけ、Perl だけ、Objective-C だけ
とかならありそうなんだけど、C かあ・・・

359 :デフォルトの名無しさん:2011/02/10(木) 02:12:01
一番難しいCかあ

360 :デフォルトの名無しさん:2011/02/10(木) 02:15:18
Cしかできないプログラマはいても
Cすら出来ないプログラマはいないよ
こんぴゅーたーの基礎だからね

361 :デフォルトの名無しさん:2011/02/10(木) 02:17:04
そんなことないよ。
コンピュータの基礎でもないし、Cができないプログラマもいるよ。

362 :デフォルトの名無しさん:2011/02/10(木) 02:26:57
>>354
ありがとうございます。何とかやってみます

363 :デフォルトの名無しさん:2011/02/10(木) 02:32:36
>>361
新卒や派遣スクリプタさんは別として
畑違いの部署の若い子やおじちゃんでも
プログラマでCすら出来ない人は出会った事ないなー
間引きされてるのかな

364 :デフォルトの名無しさん:2011/02/10(木) 02:36:49
一時期はVBしかできないプログラマが相当数量産されたが、彼らは今どうしているのだろうか

365 :351:2011/02/10(木) 02:52:53
気軽に出来るCでできるアルバイトないですか?
仕事だとハードル高くなるので、"能力主義"という
一般論で収まるんで。




366 :デフォルトの名無しさん:2011/02/10(木) 02:54:47
>>351の駄目人間っぷりが容易に想像できる

367 :デフォルトの名無しさん:2011/02/10(木) 02:56:07
>>365
Cは書けて当たり前ですからね・・・


368 :デフォルトの名無しさん:2011/02/10(木) 04:48:17
>>364
java やってはるんやないですか?

369 :デフォルトの名無しさん:2011/02/10(木) 08:04:39
Cだけとかアホだろ。
組み込みでもやってろ

370 :デフォルトの名無しさん:2011/02/10(木) 10:47:17
>>364
VBで作られたプログラムがあまりにも多かったために保守要員が残されているらしい

371 :デフォルトの名無しさん:2011/02/10(木) 12:11:48
らしいね

372 :デフォルトの名無しさん:2011/02/10(木) 12:57:41
755 :まちがって名前消しちゃいました。:2011/02/10(木) 00:02:34 ID:???
線形リスト構造の使い方について質問です。
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のエラー処理はあった方がいいんですね。
線形リスト構造はややこしくてこんがらがっていましたが
ちょっと自信つきました。添削アドバイスありがとうございました^^

373 :デフォルトの名無しさん:2011/02/10(木) 14:04:14
位相空間と距離空間の違いを教えてください

374 :デフォルトの名無しさん:2011/02/10(木) 15:59:34
俺みたいな高脳ならともかく、このスレの低脳どもに答えられるわけがないだろうw

375 :デフォルトの名無しさん:2011/02/10(木) 16:16:19
位相空間とは位置の相をあらわす空間
距離空間とは距離の空間をあわらす

376 :デフォルトの名無しさん:2011/02/10(木) 16:22:33
わかりやすく例えると位相空間はラーメン
距離空間はハンバーガーと思えばいい

377 :デフォルトの名無しさん:2011/02/10(木) 17:30:01
井include<stdio.h>
int main(void)
{
int i,t;
scanf("%d\n",t)
printf("%d\n",i+t);
return 0;
}

エラーがでます・・・何故でしょうか?

378 :デフォルトの名無しさん:2011/02/10(木) 17:31:55
頭悪い奴が頑張っても
面白くないよ

379 :デフォルトの名無しさん:2011/02/10(木) 17:32:52
あ、すいません・・
scanf("%d\n",t);
にしたら解決しました。エラー出ませんでした。
質問取り下げます。

380 :デフォルトの名無しさん:2011/02/10(木) 17:42:16
面白いねー

381 :デフォルトの名無しさん:2011/02/10(木) 17:50:57
面白い面白い

382 :デフォルトの名無しさん:2011/02/10(木) 18:39:29
>>379
次の質問が出てくるものだと待ってたのに裏切られた気分

383 :デフォルトの名無しさん:2011/02/10(木) 18:56:09
限られた範囲の数値をランダムに並べ替えたいのですが、
有効なアルゴリズムみたいなのありますか?

int num[10] = {1, 2, 3 … 8, 9, 10}を
3 9 5 8…みたいに並べ替えたいです。

384 :C言語の事なら俺に聞け(入門編) part78 :2011/02/10(木) 18:58:33
>>377
#include<stdio.h>
int main(void)
{
int i=0,t;
scanf("%d\n",&t);
printf("%d\n",i+t);
return 0;
}

一応こんな感じにね。


385 :デフォルトの名無しさん:2011/02/10(木) 19:08:46
>>384

386 :デフォルトの名無しさん:2011/02/10(木) 19:56:00
System.out.println("C言語");

387 :デフォルトの名無しさん:2011/02/10(木) 20:07:56
1["OOO"]='A';

388 :デフォルトの名無しさん:2011/02/10(木) 20:15:16
有吉は「イヤイヤイヤ、俺は別にそんなにキライじゃないからね。怖いなぁって思いつつ」とフォローしているが、確かにメディアでの発言のすべてを本気にされ、問題視して大袈裟に騒ぎたてられては、芸人たちはたまったものでもないだろう。
たとえば品川だけでなく、NON STYLEの井上裕介も「ナルシスト」「ウザい」などと叩かれがちだが、あくまでもネタであり、キャラだ。
品川の「ウザさ」も、山里の「キモさ」も、有吉の「毒舌」も、すべてを真剣に受け止めて批判に終始するような視聴者は、お笑いを楽しめていると言えないのではないだろうか。

389 :デフォルトの名無しさん:2011/02/10(木) 20:18:52
お笑いを楽しめていると言えないのではないだろうか(キリッ

390 :デフォルトの名無しさん:2011/02/10(木) 22:47:09
お笑い

391 :デフォルトの名無しさん:2011/02/10(木) 23:15:35
>>383
for(i = 10; i > 1; ) {
j = rand() % i--;
tmp = num[j];
num[j] = num[i];
num[i] = tmp;
}



392 :デフォルトの名無しさん:2011/02/10(木) 23:30:12
>>391
ありがとうございます。

393 :デフォルトの名無しさん:2011/02/11(金) 00:38:45
一周だけだと微妙な気がする

394 :デフォルトの名無しさん:2011/02/11(金) 00:48:34
>>392
for(i = 0; i < 10; i++) {
j = rand() % (i + 1);
num[i] = num[j];
num[j] = i + 1;
}
ってやれば空の配列に数字を入れながらランダムにできる

395 :デフォルトの名無しさん:2011/02/11(金) 00:59:15
>>393
確率計算すると1周でいいんじゃなかったか

396 :デフォルトの名無しさん:2011/02/11(金) 03:16:01
>>394
ダウト

for(i = 0; i < 10; i++) {
/* ランダムに配置されている配列の最後に値を追加 */
num[i] = i + 1;
/* 最後の要素以外は全てランダムになっているので最後の要素のみ入れ替える */
j = rand() % (i + 1);
tmp = num[j];
num[j] = num[i];
num[i] = tmp;
}


397 :デフォルトの名無しさん:2011/02/11(金) 03:20:14
いずれにしても糞コード

398 :デフォルトの名無しさん:2011/02/11(金) 03:22:05
>>396
コードの意味が理解できなアホは引っ込んでろw

399 :デフォルトの名無しさん:2011/02/11(金) 03:24:19
小手先にこだわる人っているよね
学生さんかな

400 :デフォルトの名無しさん:2011/02/11(金) 03:25:42
無駄な入れ替えを省略することは小手先とは言わないw

401 :デフォルトの名無しさん:2011/02/11(金) 03:29:55
>>398
>ってやれば空の配列に数字を入れながらランダムにできる
人に噛み付く前に、よく考えな
明らかに数字を入れる前にnum[j]を使ってる

402 :デフォルトの名無しさん:2011/02/11(金) 03:33:37
>>400
それ、十分小手先だよ

403 :デフォルトの名無しさん:2011/02/11(金) 03:35:15
理解できないバカどもは>>394>>396を乱数の種を同じにして実行してから書き込んでくれw

404 :デフォルトの名無しさん:2011/02/11(金) 03:38:33
>>403
>>394は初期化前の変数を読み出している
で、その場合、C言語での動作は未定義
小手先に走る前に、基本をもっと身に着けろ

405 :デフォルトの名無しさん:2011/02/11(金) 03:42:24
初期化されてない変数を使うのは未定義じゃねーだろw

406 :デフォルトの名無しさん:2011/02/11(金) 03:44:05
>>406
未定義だよ

407 :デフォルトの名無しさん:2011/02/11(金) 03:46:38
>>406
自己参照構造体乙

408 :デフォルトの名無しさん:2011/02/11(金) 03:50:11
未初期化変数の値は不定であって、未定義ではない
>>394の場合
j < iの場合ならすでに内容があるし、i==jの場合なら不定の変数を代入してるが同じ場所だし、
直後にi+1を代入してるので問題ない

409 :デフォルトの名無しさん:2011/02/11(金) 03:51:13
でも糞コードだよね

410 :デフォルトの名無しさん:2011/02/11(金) 03:53:31
914 :デフォルトの名無しさん: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
こうして人は成長していくのであった^^;

411 :デフォルトの名無しさん:2011/02/11(金) 03:53:39
>>408
不定じゃなくて未定義だ
たまたま動いても、コンパイルエラーでも、実行時エラーでも構わない。
つーか、暫く2ch見てなかったけど、
テンプレから初心者用FAQはなくなったのか?

412 :デフォルトの名無しさん:2011/02/11(金) 03:54:09
>>409
◆QZaw55cn4c乙

413 :デフォルトの名無しさん:2011/02/11(金) 03:54:57
>>408
値は不定だけど未初期化領域へのアクセスは未定義

414 : ◆QZaw55cn4c :2011/02/11(金) 04:03:09
>>408
初期化されてない auto 変数の読み出しは、未定義。それによりプログラムが落ちても文句はいえない。
解説はフィンローダさんところがいいでしょう。
http://www.st.rim.or.jp/~phinloda/cqa/cqa7.html

415 :デフォルトの名無しさん:2011/02/11(金) 04:04:05
>>394はこう書けばいいのかな
for(i = 0; i < 10; i++) {
j = rand() % (i + 1);
if(j != i) num[i] = num[j];
num[j] = i + 1;
}

最初にnum[10] = {0};ってやったほうが楽そうだ

416 :デフォルトの名無しさん:2011/02/11(金) 04:05:42
>>415
条件分岐で処理速度が落ちるから小手先テクの意味ないじゃん

417 :デフォルトの名無しさん:2011/02/11(金) 04:10:25
カキコしているランダムに並べ替えは、
限られた範囲の数値が10から20や、-20から-10や、-10から10
てかみたいに、intで表せる任意の(連続)範囲ならどこでもOKなの?

418 :デフォルトの名無しさん:2011/02/11(金) 04:12:31
>>415
やるなら、こんな感じ。

for(i = 0; i < 10; i++) {
j = rand() % (i + 1);
num[i] = 0;
num[i] = num[j];
num[j] = i + 1;
}

でも、可読性が悪いため、他の人に
「num[i] = 0;」を消されるかも知れないので、お勧めできない。


419 :デフォルトの名無しさん:2011/02/11(金) 04:13:36
>>414
おい、おまえ、限られた範囲の数値をランダムに並べ替えやってみそ


420 :デフォルトの名無しさん:2011/02/11(金) 04:14:45
394 :デフォルトの名無しさん:2011/02/11(金) 00:48:34
>>392
for(i = 0; i < 10; i++) {
j = rand() % (i + 1);
num[i] = num[j];
num[j] = i + 1;
}
ってやれば空の配列に数字を入れながらランダムにできる

421 :デフォルトの名無しさん:2011/02/11(金) 04:15:10
>>417
>>391ならOK

422 :デフォルトの名無しさん:2011/02/11(金) 04:15:32
空の配列って書いてあるからもしかしたら、0で初期化してあるのかもしれないw

423 :デフォルトの名無しさん:2011/02/11(金) 04:17:56
J.2 Undefined behavior
1 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).

424 :デフォルトの名無しさん:2011/02/11(金) 04:20:06
行列演算ならまだしもただの並び替えなら、俺は読みやすい方を採用するかな

425 :デフォルトの名無しさん:2011/02/11(金) 04:33:05
>>410
比較演算の結果は0か1になることが保障されてるって突っ込みが抜けてるから
「i * 10 + 9 + ( i == 9 ) は意図したとおりに動かないね。」が正しいように見えるわな

426 :デフォルトの名無しさん:2011/02/11(金) 04:33:12
ここで再登場して、変数を宣言と同時に0で初期化しないアホがいるなんてwとか言ってくれたら面白いのに

427 :デフォルトの名無しさん:2011/02/11(金) 04:37:33
>>425
そこは923で丁寧に説明されてるからおk

428 :デフォルトの名無しさん:2011/02/11(金) 04:37:35
num[]はグローバル変数ですよ。
初期化する必要なんてありません。

429 :デフォルトの名無しさん:2011/02/11(金) 04:44:13
Javaの質問ですけどいいですか?

430 :デフォルトの名無しさん:2011/02/11(金) 04:44:14
◆QZaw55cn4cはこれだけ住人に嫌われているのにのうのうと平気な顔で
出てこれる神経が分からん
アスペも混ざってるな

431 :デフォルトの名無しさん:2011/02/11(金) 04:47:51
>>429
お前さんスゲーナ

432 :デフォルトの名無しさん:2011/02/11(金) 04:50:57
小型数列なら配置用の配列を使うかな
static 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);

433 :デフォルトの名無しさん:2011/02/11(金) 04:56:19
>>432
マクロ長すぎ
素直に関数にして下さい

434 :デフォルトの名無しさん:2011/02/11(金) 05:07:50
>>432
最高にキモイな!うほ!

435 :デフォルトの名無しさん:2011/02/11(金) 05:57:44
「鬼は捕らえた娘をイヤーぶちぬいたんあぁ」ってなんですか

436 :デフォルトの名無しさん:2011/02/11(金) 13:15:10
C/C++の配列について質問。
JavaやC#ではlengthでそれ自身の長さを取れますが、
C/C++では、配列それ自身のサイズを取得することは不可能なのですか?

ある関数の引数として配列を渡す際に、それ自身のサイズの数値も渡さないとダメなのが不便に感じているのですが。

437 :デフォルトの名無しさん:2011/02/11(金) 13:20:11
配列のサイズはsizeofで取得できるよ
取得できないのは、それが配列じゃないからだよ

438 :デフォルトの名無しさん:2011/02/11(金) 13:25:30
>>436

C++なら
template <class T, int N>
int func(T (&)[N]) { return N; }

って取得できる

439 :デフォルトの名無しさん:2011/02/11(金) 13:26:31
でも引数で配列受け取った側の関数からじゃ分からないよねw
Cww

440 :デフォルトの名無しさん:2011/02/11(金) 13:33:44
文字列なら問題ない

441 :デフォルトの名無しさん:2011/02/11(金) 13:36:46
>>439
配列なんて受け取ってないから

442 :デフォルトの名無しさん:2011/02/11(金) 13:37:41
ターミネーター使えってことだな

443 :デフォルトの名無しさん:2011/02/11(金) 13:49:31
std::vectorやstd::stringならsize()やlength()というメソッド(プロパティ)があるけどな
だからC++では生の配列はあまり使わない
不便過ぎる

444 :デフォルトの名無しさん:2011/02/11(金) 13:51:48
使う人間側が便利ってことは、どっかに余計な処理入ってるってことでもある
そこらへんの兼ね合いでCは低レベルってだけの話だろ

445 :デフォルトの名無しさん:2011/02/11(金) 13:57:03
そういう事
C++でも生配列は使うけど、クリティカルな部分やわざわざSTL使うほど
大げさじゃない部分だな
逆に言うと両方使えるというのは強み

446 :デフォルトの名無しさん:2011/02/11(金) 14:01:13
長さゼロの配列含む構造体つこ
struct X{size_t sz;char p[0]}; /* gcc or c99 ext */

447 :デフォルトの名無しさん: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];
}

448 :デフォルトの名無しさん:2011/02/11(金) 14:49:42
省略しすぎて何がなんだか

449 :デフォルトの名無しさん:2011/02/11(金) 14:54:55
書き込む前にファイルの先頭に32バイトのパスワードを
書きこんでから本体の暗号化データを書き込み。復号化時には
32バイトを先に読み込んで、暗号化データ部を復元するという
処理をしたいです。
ちなみにパスワードはargv[3]で取り込みます。

450 :デフォルトの名無しさん:2011/02/11(金) 15:08:36 ?2BP(0)
#include <stdio.h>
int main(void)
{
int no;

printf("整数を入力してください。:");
scanf("%a",&no);

printf("貴方は%aと入力しました。/n",no);

return(0);
}
これを実行すると、
          整数を入力してください。: 
       貴方は0x1.010af0p-1019と入力しました。
何を入れても、この0x1.010af0p-1019しか表示されません。どこが間違っていますか?




451 :デフォルトの名無しさん:2011/02/11(金) 15:10:21
scanf("%d",&no);

452 :デフォルトの名無しさん:2011/02/11(金) 15:42:33
>>451
・コンパイルできるコードを掲載してください。

453 :デフォルトの名無しさん:2011/02/11(金) 16:23:16
169 : ◆QZaw55cn4c :2011/02/11(金) 15:47:08
>>168
おはようございます。よく眠れましたか?

454 :デフォルトの名無しさん:2011/02/11(金) 16:28:17
つまり>>452=◆QZaw55cn4cってことかw

455 :デフォルトの名無しさん:2011/02/11(金) 18:15:27
%aを全て%dにしやがれクソッタレ

456 :デフォルトの名無しさん:2011/02/11(金) 18:46:59
>>455
「理路整然」という言葉を知らなそうな実に野蛮な顔つきをしてるな

457 :デフォルトの名無しさん:2011/02/11(金) 18:58:50
>>456
実にいやみったらしい顔をしてるな

458 :デフォルトの名無しさん:2011/02/11(金) 19:05:59
>>457
実に卑屈な顔をしているな

459 :デフォルトの名無しさん:2011/02/11(金) 19:10:55
ディスプレイに映るのはお前ら自身の顔だって、何度言ったらわかるんだよw

460 :デフォルトの名無しさん:2011/02/11(金) 19:12:25
イケメンなjかおをしてるな

461 :デフォルトの名無しさん:2011/02/11(金) 19:14:27
>>459
そんなマジレス期待してないんだけど…
まさか本気で煽り合いしてるとでも思ったのか

462 :デフォルトの名無しさん:2011/02/11(金) 19:16:23
>>459がマジレスに見えるとかw

463 :デフォルトの名無しさん:2011/02/11(金) 19:27:48
マジレスに見えるとは書いてない

464 :デフォルトの名無しさん:2011/02/11(金) 19:32:04
1 : ◆QZaw55cn4c :2011/01/17(月) 23:17:42
あなたが解けない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回を超えて修正を希望する場合は、新規に質問を投稿しなおしてください。
いずれも場合も、修正に応じることを保障するものではありません。

465 :デフォルトの名無しさん:2011/02/11(金) 20:15:44
>>461
おちつけよブサメンwww

466 :デフォルトの名無しさん:2011/02/11(金) 20:27:50
>>465
>>459

467 :デフォルトの名無しさん:2011/02/11(金) 20:35:33
◆QZaw55cn4cワロタw

468 :デフォルトの名無しさん:2011/02/11(金) 20:53:22
遺伝的アルゴリズムのスレってある?

469 :デフォルトの名無しさん:2011/02/11(金) 20:56:28
◆QZaw55cn4cファビョりまくりワロス

470 :デフォルトの名無しさん:2011/02/11(金) 21:32:44
#define ROMC    const far rom char

sprintf(gLcdBuf, (ROMC *)"CN%-2dCN%-2dCN%-2dCN%-2d", 1, 2, 3, 4);

この場合、(ROMC *)はどのような意味があるのでしょうか?


471 :デフォルトの名無しさん:2011/02/11(金) 22:24:24
(const far rom char *)

472 : ◆QZaw55cn4c :2011/02/11(金) 22:54:01
>>470
http://hibari.2ch.net/test/read.cgi/tech/1289292155/834-836

473 :デフォルトの名無しさん:2011/02/11(金) 23:07:59
>>834-836
ありがとう。
PICのプログラムをAVRに移植してるところです。

474 :デフォルトの名無しさん:2011/02/11(金) 23:08:40
>>473
誤爆

475 :デフォルトの名無しさん:2011/02/11(金) 23:23:32
ふむ、どこのスレだ?

476 : ◆QZaw55cn4c :2011/02/11(金) 23:25:45
>>475
【初心者歓迎】C/C++室 Ver.74【環境依存OK】
http://hibari.2ch.net/test/read.cgi/tech/1289292155/
>>473
疑って申し訳ない。移植がうまくいくことを願っています。

477 :デフォルトの名無しさん:2011/02/12(土) 00:07:04
>>472>>476
いいから氏ねやwwwwwwwwwwwwww

478 :デフォルトの名無しさん:2011/02/12(土) 00:18:43
モリタポ儲けw

479 :デフォルトの名無しさん:2011/02/12(土) 00:23:17
早く◆QZaw55cn4cが氏にますように

480 :デフォルトの名無しさん: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って糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ


481 :デフォルトの名無しさん:2011/02/12(土) 03:39:27
◆QZaw55cn4cはなんでこんなに粘着されてるの?
燃料に対する粘着度のコスパが素晴らしいんだけど


482 :デフォルトの名無しさん:2011/02/12(土) 03:42:48
日本語読めないから

483 :デフォルトの名無しさん:2011/02/12(土) 03:51:08
>>481
お前◆QZaw55cn4cだろ

484 :デフォルトの名無しさん:2011/02/12(土) 03:57:05
しつこく粘着してるのは一人
嫌ってるのは数人
どうでもいいと思ってるのがほとんど

485 :デフォルトの名無しさん:2011/02/12(土) 04:03:53
この板もID出るようにしたらいいのにね

486 :デフォルトの名無しさん:2011/02/12(土) 04:06:44
トリなしで問題誤読や的外れな書き込みしてるのがバレて◆QZaw55cn4cも困るだろw

487 :デフォルトの名無しさん:2011/02/12(土) 04:06:45
また◆QZaw55cn4cか

488 :デフォルトの名無しさん:2011/02/12(土) 04:12:49
粘着一人じゃないけどね

489 :デフォルトの名無しさん:2011/02/12(土) 04:16:07
嫌ってるの数人って、ほとんどの間違いだろw
もしかして◆QZaw55cn4c本人かw

490 :デフォルトの名無しさん:2011/02/12(土) 04:16:53
>>488も粘着してる人間で、自分の他にも粘着してるのがいるのを把握してるってこと?

491 :デフォルトの名無しさん:2011/02/12(土) 04:21:49
>>490
俺が氏ねって書く前には誰かが似たようなこと既に書いてることが多い

492 :デフォルトの名無しさん:2011/02/12(土) 04:24:56
俺も気が向いたら叩くことにしてるよ
2chで金儲けを企むような奴だし

493 :デフォルトの名無しさん:2011/02/12(土) 04:25:09
◆QZaw55cn4cは気違いへの対応が下手すぎなんだよ
軽く流したり逃げ道を作ってやればいいのに
一々対応して論破するから荒らし化する

494 :デフォルトの名無しさん:2011/02/12(土) 04:27:12
◆QZaw55cn4cが現れたぞw
キチガイ◆QZaw55cn4cが論破ってw

495 :デフォルトの名無しさん:2011/02/12(土) 04:28:42
>>493
お前分かりやすすぎ

496 :デフォルトの名無しさん:2011/02/12(土) 04:35:33
Dijkrtraの読み方が分かりません
C言語で教えてください

497 :デフォルトの名無しさん:2011/02/12(土) 04:38:23
496=◆QZaw55cn4c
話題替えですか?


498 :デフォルトの名無しさん:2011/02/12(土) 04:40:14
モリタポ
=◆QZaw55cn4c

他のパターンない?


499 :デフォルトの名無しさん:2011/02/12(土) 04:43:51
は?

500 :デフォルトの名無しさん:2011/02/12(土) 04:45:01
パターンに言及して余裕を装うパターン

501 :デフォルトの名無しさん:2011/02/12(土) 05:04:04
なさそうだね

502 :デフォルトの名無しさん:2011/02/12(土) 05:16:11
パターン少ないとか言い出すパターンも見慣れたなぁ

503 :デフォルトの名無しさん:2011/02/12(土) 05:23:20
だいちが くさっていく・・・!

504 :デフォルトの名無しさん:2011/02/12(土) 05:23:26
>>502

> 【レス抽出】
> 対象スレ:C言語なら俺に聞け(入門編)Part 78
> キーワード:少ない
> 検索方法:マルチワード(OR)
>
> 502 名前:デフォルトの名無しさん[sage] 投稿日:2011/02/12(土) 05:16:11
> パターン少ないとか言い出すパターンも見慣れたなぁ
>
>
>
> 抽出レス数:1

被害妄想じゃない?
誰もパターン少ないなんて言って無いよ?

505 :デフォルトの名無しさん:2011/02/12(土) 05:32:44
必死ワロタw

506 :デフォルトの名無しさん:2011/02/12(土) 05:34:07
>>504
きもい

507 :デフォルトの名無しさん:2011/02/12(土) 05:35:13
あなたが解けない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回を超えて修正を希望する場合は、新規に質問を投稿しなおしてください。
いずれも場合も、修正に応じることを保障するものではありません。

508 :デフォルトの名無しさん:2011/02/12(土) 05:36:40
他に無い人に対し
他にない?
と聞いたら
少ないと言ってるのと同義だ

そういうところが◆QZaw55cn4cのダメなところ

509 :デフォルトの名無しさん:2011/02/12(土) 05:40:51
パターン少ないと言っておけば優位に立てるとか思ってそう

510 :デフォルトの名無しさん:2011/02/12(土) 05:44:21
そうだね
思ってそうだね

511 :デフォルトの名無しさん:2011/02/12(土) 05:45:17
あぁ、今度はそういうパターンか

512 :デフォルトの名無しさん:2011/02/12(土) 05:45:44
次はどんなパターンかな?

513 :デフォルトの名無しさん:2011/02/12(土) 05:49:22
あずにゃんペロペロ^^

514 :デフォルトの名無しさん:2011/02/12(土) 08:56:16
よくもまぁこんな長々と自演を。
それにつられて数人書いてるっぽいけど、何でほっとかないかね。

515 :デフォルトの名無しさん:2011/02/12(土) 09:37:53
はいはい自演自演

516 :デフォルトの名無しさん:2011/02/12(土) 09:41:04
◆QZaw55cn4cおじちゃんは
どーしてあたらしいパソコン買えないにょ?w

517 :デフォルトの名無しさん:2011/02/12(土) 09:52:29
仕事してないから

518 :デフォルトの名無しさん:2011/02/12(土) 09:59:50
ポインタに任意のアドレスを代入することは出来ますか?
&a,&bといった感じではなくて、16進数でそのままアドレスを指定したいです。

519 :デフォルトの名無しさん:2011/02/12(土) 10:02:48
>>518
char *a = (char *)0x12345678;

ただし、こんなところで質問してるやつには勧めない。

520 :デフォルトの名無しさん:2011/02/12(土) 10:05:03
>>519
どうもありがとうございます。

521 :デフォルトの名無しさん:2011/02/12(土) 10:19:28
◆QZaw55cn4cおじちゃんは
パソコンいっぱい知ってるのにどーして就職できないの?w

522 :デフォルトの名無しさん:2011/02/12(土) 10:36:16
int/longなどの数値(10進数)からポインターを生成するにはどうすればいいですか?
色々試してみましたが無理でした。。

10進数 -> 16進数 -> ?

16進数の文字列を表すchar配列は作れましたが、そのchar配列をポインターに変換する方法が分かりません。
それとも、他にもっと簡単な方法があるのでしょうか。

アドバイスよろしくお願いいたします。

char *a = (char *)hensuNoAtai;

523 :デフォルトの名無しさん:2011/02/12(土) 11:14:21
何でこんなに雰囲気悪いんだ?

524 :デフォルトの名無しさん:2011/02/12(土) 11:51:30
>>523==◆QZaw55cn4c

525 :デフォルトの名無しさん:2011/02/12(土) 11:54:52
>>522
ポインターの内部表現は unsigned int だからキャストさえ適切であれば代入は可能
char* a;
int b = 123;
a = (char*)b;
warning は出るかも知れんし、こんな事に何の意味が有るかも解らんが


526 :デフォルトの名無しさん:2011/02/12(土) 12:06:08
>>525
( ゚Д゚)ハァ?

527 :デフォルトの名無しさん:2011/02/12(土) 12:06:24
>>525
ECMAみたいなハッキリした仕様書がないので、内部仕様を調べるのが難しいですね。。

ためになりました。ありがとうございました。

528 :デフォルトの名無しさん:2011/02/12(土) 12:06:25
>>525
>ポインターの内部表現は unsigned int だから

しれっとウソ書くなよ。

529 :デフォルトの名無しさん:2011/02/12(土) 12:14:21
>>525さんは 64BitのWindows7を知らないようだ

530 :デフォルトの名無しさん:2011/02/12(土) 12:20:45
LLP64
LP64
IP64
ILP64
SILP64

この5つの区別位付くようにしとけ>>525

531 : ◆QZaw55cn4c :2011/02/12(土) 12:21:38
>>496
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

532 :デフォルトの名無しさん:2011/02/12(土) 12:24:34
>>522
//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;


533 :デフォルトの名無しさん:2011/02/12(土) 12:26:15
どうやら>>525は◆QZaw55cn4cだったようですねw
顔を真っ赤にして>>>531を書き込んだと思われる

534 :デフォルトの名無しさん:2011/02/12(土) 13:09:48
>>529
この話題がOSに依存すると思ってる君も >>525 と五十歩百歩だな。

535 :デフォルトの名無しさん:2011/02/12(土) 13:10:14
こうして人は成長していくのであった^^;

536 :デフォルトの名無しさん:2011/02/12(土) 17:01:35
ほんとドカタらしいスレで楽しいな
ドカタのスレはこうでなければだめだな

537 :デフォルトの名無しさん:2011/02/12(土) 17:17:06
>>528-530
64ビットマシンが出てから曖昧になってるけど、それ以前はCPUの語長 = intのサイズ = ポインタのサイズだったよ
本来ならば64ビットマシンの int は8Byte にすべきなんだけど、さすがにオーバースペックって事で4Byteのままにしたんでしょ
その事により >>530 が書いた様に多種の規格が生まれたって話じゃないの?

俺は >>531 じゃないよ

538 :デフォルトの名無しさん:2011/02/12(土) 17:24:16
つ size_t

539 :デフォルトの名無しさん:2011/02/12(土) 17:25:08
>>537
最近の子は far とか near なんて知らないんだろうな...。

まあ、知らないのは別にいいんだが、「それ以前はCPUの語長 = intのサイズ =
ポインタのサイズ」なんてドヤ顔で書いてるのみるとかわいそうになるな。

540 :デフォルトの名無しさん:2011/02/12(土) 17:28:50
>>537
そうすることが都合いいからintのサイズとポインタのサイズがおなじだっただけで、
規格上はなんの関係もないんじゃ?

541 :デフォルトの名無しさん:2011/02/12(土) 17:35:31
C言語でない話はスレ違い

542 :デフォルトの名無しさん:2011/02/12(土) 17:43:37
>>530
525じゃないけど、IP64ってCの規格上でNGじゃん
覚える必要あるの?

543 :デフォルトの名無しさん:2011/02/12(土) 17:46:14
必要ないと思うなら覚えなければいい。

544 :デフォルトの名無しさん:2011/02/12(土) 17:50:21
>>543
じゃぁ、覚えない
ってか、LLP64とLP64以外は必要になった時に覚えれば十分じゃね?

545 :デフォルトの名無しさん:2011/02/12(土) 17:53:57
そうだね。

546 :デフォルトの名無しさん:2011/02/12(土) 17:55:12
>>539
その時代からコード書いてるけど、そんな時代の仇花の話は忘れた

>>540
うん、規格なんて話じゃなくて、一般論とか原則的って話だ
こんなに叩かれるなら符号無し整数って書けば良かったな

547 :デフォルトの名無しさん:2011/02/12(土) 17:56:55
>>546
だからsize_tを使えと…

548 :デフォルトの名無しさん:2011/02/12(土) 18:00:32
規格に基づかない、一般論や原則に何の意味があるのやら。

こういうバカが現場を混乱させるんだよ。

549 :デフォルトの名無しさん:2011/02/12(土) 18:02:46
↑バカ

550 :デフォルトの名無しさん:2011/02/12(土) 18:03:44
>>548
まぁ待て落ち着け
元々>>522自体が規格外の処理なのに、規格に合わせた回答に意味があるのか?

551 :デフォルトの名無しさん:2011/02/12(土) 18:05:02
>>548
まぁ待て落ち着け
元々>>522自体が規格外の処理なのに、規格に合わせた回答に意味があるのか?

552 :デフォルトの名無しさん:2011/02/12(土) 18:06:08
>>548


553 :デフォルトの名無しさん:2011/02/12(土) 18:15:35
整数型からポインタ型への変換が規格外の処理だなんて言う奴は、この世に存在しないんだよ!

554 :デフォルトの名無しさん:2011/02/12(土) 18:24:42
>>533
ふーん

555 :デフォルトの名無しさん:2011/02/12(土) 18:32:56
結論が出たな

556 :デフォルトの名無しさん:2011/02/12(土) 18:40:11
C++のreinterpret_castに相当するキャストはCでは禁則で未定義動作になる
覚えておくように

557 :デフォルトの名無しさん:2011/02/12(土) 19:04:18
また規格に基づかないデタラメか

558 :デフォルトの名無しさん:2011/02/12(土) 19:31:47
ドライバとか作ったことないんだろうか?

559 :デフォルトの名無しさん:2011/02/12(土) 19:33:56
整数型からポインタ型への変換は、規格で明確に許されている。

560 :デフォルトの名無しさん:2011/02/12(土) 19:47:09
>>559
処理系依存だから、スレ違いであることは間違いない

561 :デフォルトの名無しさん:2011/02/12(土) 19:49:06
友達がC言語の構造とポインタと配列の分野1日でマスターしたんだが
これって異常?



562 :560:2011/02/12(土) 19:52:43
ごめん、嘘ついた
0からポインタ型への変換は明確に保証されてるから、
100%スレ違いと言う訳ではなかったな…

563 : ◆QZaw55cn4c :2011/02/12(土) 19:53:09
>>561
世間一般的には、C言語の構造体とポインタと配列っていうのが、関門になっているんですねえ。ふむ。

564 :デフォルトの名無しさん:2011/02/12(土) 19:56:14
>>561
マスターしてることと、したつもりになってることじゃ別だからな…
それでも、アセンブラやってれば、1日でポインタと配列位は普通じゃなイカ
まぁ、C言語の構造ってのは良く分からんが

565 :デフォルトの名無しさん:2011/02/12(土) 19:58:13
>>563
氏ね

566 : ◆QZaw55cn4c :2011/02/12(土) 20:06:03
>>112
そりゃ頭が悪いからに決まっているでしょう。なにを自明なことを。

567 :デフォルトの名無しさん:2011/02/12(土) 20:11:29
>>566
氏ね

568 :デフォルトの名無しさん:2011/02/12(土) 20:14:04
ひどい自演を見た

569 :デフォルトの名無しさん:2011/02/12(土) 20:23:40
メ欄に言い訳仕込んでも、顔真っ赤にしてこのスレで暴れてる事実は否定できないのに
いいから自分のクソスレに引っ込んでろよw

570 :デフォルトの名無しさん:2011/02/12(土) 20:25:41
必死な奴ほど「燃料投下」とか言っちゃう

571 :デフォルトの名無しさん:2011/02/12(土) 20:27:06
◆QZaw55cn4cを見てて沢村を思い出した
今となっては良い思い出だ

572 :当然未定義な。:2011/02/12(土) 20:27:07
>>561, >>564
マスターのレベルにもよるよね。
普通に配列使うだけなら、他の言語知ってりゃできて当然。

char *x;
char y
char a[] = "012345678";
*x = a - 1;
y = x[2];

で、x に何が入るかまでわかってるなら結構すごいと思う。

573 :デフォルトの名無しさん:2011/02/12(土) 20:28:11
氏ねって書く方が明らかに楽な仕事だよねw
◆QZaw55cn4cは何を勘違いしてるんだかw

574 :デフォルトの名無しさん:2011/02/12(土) 20:29:31
572 :当然未定義な。:2011/02/12(土) 20:27:07
>>561, >>564
マスターのレベルにもよるよね。
普通に配列使うだけなら、他の言語知ってりゃできて当然。

char *x;
char y
char a[] = "012345678";
*x = a - 1;
y = x[2];

で、x に何が入るかまでわかってるなら結構すごいと思う。

575 :デフォルトの名無しさん:2011/02/12(土) 20:29:42
>>572
xとyとaがメモリ上で連続してる保障はあるのか?

576 :デフォルトの名無しさん:2011/02/12(土) 20:32:20
>>575
そんな保証はないし、そんな保障はいらないだろ。

577 :デフォルトの名無しさん:2011/02/12(土) 20:32:32
◆QZaw55cn4cは日本語がちゃんと読めるようになるために、小学校からやり直せw

578 :デフォルトの名無しさん:2011/02/12(土) 20:34:52
>>575
名前欄の逃げ口上を読んでからレスしろよなクズが

579 :デフォルトの名無しさん:2011/02/12(土) 20:44:27
>>578
だから関係ないって言ってるだろ、ボケ。

# そっちで引っかかるやつがいるとは思わなんだ。(w

580 :デフォルトの名無しさん:2011/02/12(土) 20:45:44
書き込めねぇ…

581 :デフォルトの名無しさん:2011/02/12(土) 20:46:53
話の流れ、よく分かってないけど、

> *x = a - 1;

大体の処理系はここで落ちるんじゃないか?

582 :デフォルトの名無しさん:2011/02/12(土) 20:47:18
>>579
釣られてくれてありがとう

583 :デフォルトの名無しさん:2011/02/12(土) 20:48:09
>>572
二行目のtypoは誰も突っ込まないのか?

584 :デフォルトの名無しさん:2011/02/12(土) 20:50:10
>>581
未定義だから何でもアリ

585 :デフォルトの名無しさん:2011/02/12(土) 20:50:11
>>583
さすがだな。
俺は普通に見落としてた。

586 :デフォルトの名無しさん:2011/02/12(土) 20:53:40
人に問題出せるレベルでもないのに、無理するから>>572みたいなことになる

587 :デフォルトの名無しさん:2011/02/12(土) 20:53:45
最近の自分ならやりそうな大ボケで
あきれるほど自分に返ってくる心境で言葉を飲んでいた

588 :デフォルトの名無しさん:2011/02/12(土) 20:54:41
>>574
わかんないです。
てか、未初期化変数 x で *x = a - 1; なんて怖くて出来ません…

589 :デフォルトの名無しさん:2011/02/12(土) 20:58:17
>>560 >>562
整数型をポインタ型に変換出来ることは規格で明確にされているよ。
すべての処理系で保証される。処理系に依存しない。

590 :デフォルトの名無しさん:2011/02/12(土) 20:59:00
>>586
だから名前欄に書いてるだろ

591 :デフォルトの名無しさん:2011/02/12(土) 20:59:02
>>583
すまん typo だらけだった。

char *x;
char y;
char a[] = "012345678";
x = a - 1;
y = x[2];

のつもりだった。

592 :デフォルトの名無しさん:2011/02/12(土) 20:59:25
>>588
だから、それを分かるならすごいって言ってるんだろ。人類の限界を越えている。

593 :デフォルトの名無しさん:2011/02/12(土) 21:00:39
>>572
*x = a - 1;

出題としてこれあっているの?

594 :デフォルトの名無しさん:2011/02/12(土) 21:01:03
>>591
>x = a - 1;

配列のアドレスより前のアドレスって保証されてないでしょ

595 :デフォルトの名無しさん:2011/02/12(土) 21:02:11
配列のアドレス-1は保証されてなかったっけ?
比較に使っていいだけ?

596 :デフォルトの名無しさん:2011/02/12(土) 21:02:38
>>589
規格をもう一回読んでみな
整数型からポインタ型へのキャストは処理系定義として規定されているから
どう処理しても、処理系依存の処理にしかならない

597 :デフォルトの名無しさん:2011/02/12(土) 21:03:01
>>591
ソースもtypoなら質問もtypoじゃね?
「x に何が入るか」→「y に何が入るか」

598 :デフォルトの名無しさん:2011/02/12(土) 21:04:12
>>596
An integer may be converted to any pointer type.

599 :デフォルトの名無しさん:2011/02/12(土) 21:04:53
>>591
x に何が入るかは処理系依存じゃね? y なら '1' だけど

600 :デフォルトの名無しさん:2011/02/12(土) 21:04:55
>>572はもう少し落ち着いてから書くべきだったな
間違いだらけすぎる
おまけに知っていても役に立たない未定義動作だし

601 :デフォルトの名無しさん:2011/02/12(土) 21:05:35
          ,〜〜〜〜〜〜 、
|\     ( 釣れたよ〜・・・)
|  \    `〜〜〜v〜〜〜´
し   \
゙'゙":"''"''':'';;':,':;.:.,.,  ヽ○ノ
          ~~~~~|~~~~~~~ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                 ト>゚++<
              ノ)

まさにこれじゃないかw

602 :デフォルトの名無しさん:2011/02/12(土) 21:06:01
>>595
加算は保証されている
減算は下記であれば保証される
p + n - m ( ただし n => m )
まぁ、要するに確保したメモリ以外にまたがらなければOK

603 :デフォルトの名無しさん:2011/02/12(土) 21:07:39
>>596
そもそも、処理系依存がすれ違いだって、どこに定義されてるんだ?

604 :デフォルトの名無しさん:2011/02/12(土) 21:12:23
>>595
アドレスとして有効(比較可能)なのは「配列要素を指すアドレスと配列の最後の要素を一つ越えたところを指すアドレス」
実際にアクセスしていいのは「配列要素を指すアドレス」
それ以外は未定義

605 :デフォルトの名無しさん:2011/02/12(土) 21:13:46
>>597
すまん、その通りだ。
>>599 みたいなやつを釣るつもりだったけど、酔ってると駄目だな。(w

606 :デフォルトの名無しさん:2011/02/12(土) 21:14:16
>>598
今JIS規格(日本語)しか読めんから分からんが、その直後に
規定されている場合を除いて、結果は処理系定義って書いてないか?

>>603
知らん
少なくとも、8年位前はスレ違いだった
最新の定義があれば教えてくれ

607 :デフォルトの名無しさん:2011/02/12(土) 21:16:41
>>599
おい>>605にディスられてるぞw

608 :デフォルトの名無しさん:2011/02/12(土) 21:18:16
>>604
じゃぁ
char str[] = "abc", *p;
for(p = str; *p; p++);
while(p-- >= str) putchar(*p);
みたいに文字列逆順に表示するのは、ループの最後の比較は未定義ってこと?

609 :デフォルトの名無しさん:2011/02/12(土) 21:19:32
while(--p >= str)だった

610 :599:2011/02/12(土) 21:22:29
>>607
いや俺みたいな奴が意味するところが判らないんだが....
x に y のアドレスが代入される処理系もそうでない処理系も有るし、y には '1' が代入される筈なので
間違ったことを書いたつもりは無いんだがね

611 :デフォルトの名無しさん:2011/02/12(土) 21:22:38
>>608
手元にJISしかないけど、そういうこと
--pでpがstrの一つ前を指した時点でオーバフローが生じてもいい

612 :デフォルトの名無しさん:2011/02/12(土) 21:23:06
>>609
それは未定義じゃないな

613 :デフォルトの名無しさん:2011/02/12(土) 21:26:58
>>611
オーバーフローが生じるケースってどんなだ?


614 :デフォルトの名無しさん:2011/02/12(土) 21:28:01
>>606
> 規定されている場合を除いて、結果は処理系定義って書いてないか?

結果は処理系定義であっても、整数型からポインタ型への変換は認められている。

615 :デフォルトの名無しさん:2011/02/12(土) 21:29:22
アドレス直指定なんて組み込みでは極一般的なんだけどな。

616 :デフォルトの名無しさん:2011/02/12(土) 21:31:09
>>614
だから処理系依存の処理にしかならんって話なんだが?

617 :デフォルトの名無しさん:2011/02/12(土) 21:33:04
>>616
ちがう。規格外か?って話。だから規格外じゃない。

処理系依存かどうかは関係ない。

618 :デフォルトの名無しさん:2011/02/12(土) 21:33:30
>>610
引っ込みつかなくなってるとか釣りじゃないなら、規格書読み直せ。
x への代入からして未定義動作だ。

619 :デフォルトの名無しさん:2011/02/12(土) 21:33:48
>>608
先頭より前のオブジェクトアドレスはダメだが
最後尾の次のオブジェクトアドレス(ぱすとえんど)はおk
覚えとくように

620 :デフォルトの名無しさん:2011/02/12(土) 21:38:30
>>617
最初から処理系依存の話をしているのだが?

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
整数型をポインタ型に変換出来ることは規格で明確にされているよ。
すべての処理系で保証される。処理系に依存しない。

621 :デフォルトの名無しさん:2011/02/12(土) 21:41:30
>>620
> 整数型をポインタ型に変換出来ることは規格で明確にされているよ。
> すべての処理系で保証される。処理系に依存しない。

結果は処理系依存だが、整数型からポインタ型への変換ができることは処理系に依存しない。

622 :デフォルトの名無しさん:2011/02/12(土) 21:41:44
>>614
§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が未定義となるので注意

623 :デフォルトの名無しさん:2011/02/12(土) 21:43:30
整数型をポインタ型に変換
int n = -1;
char* p = n;
この場合pが指すのどこ?

624 :デフォルトの名無しさん:2011/02/12(土) 21:45:45
>>622
英語と日本語が対応していない件について

625 :デフォルトの名無しさん:2011/02/12(土) 21:45:47
>>615
厳密にはアセンブラでやるべきことだが
「それだけのために?アホか」というのが主流

よーするに、自分がわかんねーことに上から目線でいたい奴に
逃げ道をあげる企画(≠規格)なんで、その趣旨を理解すべきってことさ

626 :デフォルトの名無しさん:2011/02/12(土) 21:46:51
>>624
知るか
JISの担当者に聞け

627 :デフォルトの名無しさん:2011/02/12(土) 21:47:14
>>622
惜しい
今問題なのは、整数をポインタ型に変換する話なので、その前の項目

628 :デフォルトの名無しさん:2011/02/12(土) 21:48:00
>>626
>>622が引用を間違えたことに気づけ

629 :デフォルトの名無しさん:2011/02/12(土) 21:52:17
>>627>>628
悪い
じゃこれか

整数は任意のポインタ型に型変換できる。これまで規定されている場合を除き、
結果は処理系定義とし、正しく境界調整されていないかもしれず、被参照型の
実体を指していないかもしれず、トラップ表現であるかもしれない(56)。

この「被参照型の実体を指していないかもしれず」という部分が気になるな

630 :デフォルトの名無しさん:2011/02/12(土) 21:54:17
>>629
そう。
だから、
 「整数は任意のポインタ型に型変換できる。」
以上。

結論が出たな。

631 :デフォルトの名無しさん:2011/02/12(土) 21:55:01
>>630
まあそういう事になるな

632 :デフォルトの名無しさん:2011/02/12(土) 21:58:05
>>613
さすがにJIS読めと言いたい
オーバフローはただの例で、それが生じなくても未定義であることには変わりない

633 :デフォルトの名無しさん:2011/02/12(土) 21:59:48
>>623
「結果は処理系定義」なので処理系のマニュアルを読みましょう。

634 :デフォルトの名無しさん:2011/02/12(土) 22:00:32
>>623
コンパイルエラー

635 :デフォルトの名無しさん:2011/02/12(土) 22:01:50
>>630
違うって。
foo() + bar() が規格として正しくても、結果は不定であることが変わらんように
結果が処理系定義にしかならんのだから、処理系依存にしかならんって話なんだって。

636 :デフォルトの名無しさん:2011/02/12(土) 22:02:38
だから結果が処理系依存であることは誰も否定していないだろ。

637 :デフォルトの名無しさん:2011/02/12(土) 22:03:45
>>629
http://www.jpcert.or.jp/sc-rules/c-int11-c.html
ここの例が分かりやすいかな


638 :デフォルトの名無しさん:2011/02/12(土) 22:03:56
>>636
おれも
>「整数は任意のポインタ型に型変換できる。」
は否定しとらんよ
最初から、処理系依存だって話をしてるだけだ

639 :デフォルトの名無しさん:2011/02/12(土) 22:04:43
   彡川川川三三三ミ〜
   川|川/  \|〜 プゥ〜ン
  ‖|‖ ◎---◎|〜        / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  川川‖    3  ヽ〜      <  ショリケーイゾン ショリケーイゾン
  川川    ∴)д(∴)〜       \_______________
  川川      〜 /〜 カタカタカタ
  川川‖    〜 /‖ _____
 川川川川___/‖  |  | ̄ ̄\ \
   /       \__|  |    | ̄ ̄|
  /  \___      |  |    |__|
  | \      |つ   |__|__/ /
  /     ̄ ̄  | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
 |       | ̄

640 :デフォルトの名無しさん:2011/02/12(土) 22:07:00
>>638
最初って、どれだ?

641 :デフォルトの名無しさん:2011/02/12(土) 22:07:24
>>632
JIS関係ないだろ、君がオーバーフローなんて的外れな例を出したから突っ込んだだけだ

642 :デフォルトの名無しさん:2011/02/12(土) 22:09:06
>>640
>>620が発端

643 :デフォルトの名無しさん:2011/02/12(土) 22:13:40
ざっと流し読みすると
560が恥ずかしい人って事だな


644 :デフォルトの名無しさん:2011/02/12(土) 22:15:28
>>642
つまり、>>560ってことか?

であるならば、

=========================
559 名前:デフォルトの名無しさん [sage] 投稿日:2011/02/12(土) 19:33:56
整数型からポインタ型への変換は、規格で明確に許されている。

560 名前:デフォルトの名無しさん [sage] 投稿日:2011/02/12(土) 19:47:09
>>559
処理系依存だから、スレ違いであることは間違いない
=========================

>>559は「整数型からポインタ型への変換は、規格で明確に許されている。」と変換が規格上許されるかどうかの話をしている。

処理系依存の話なんてしてるのは>>560だけだ。

645 :デフォルトの名無しさん:2011/02/12(土) 22:19:04
>>641
なんで例ごときにそんなつっかかってるのか分からないけど
君の気分を損ねたのなら謝るよ
俺の言い方も悪かった
ただ、重要なのはそこじゃなくて未定義になるってけとが言いたかっただけなんだ
そこは分かって欲しい

646 :デフォルトの名無しさん:2011/02/12(土) 22:19:25
>>644
違う
処理系依存の話を始めたんじゃなくて、スレ違いじゃねーの話を始めたの

647 :デフォルトの名無しさん:2011/02/12(土) 22:21:59
>>641
なんで未定義動作からオーバフローを除外するの?
それ相応の理由があるなら説明した方がいいよ

648 :デフォルトの名無しさん:2011/02/12(土) 22:25:44
>>646
(1)整数型からポインタ型への変換ができることは、処理系依存ではない。
(2)処理系依存がスレ違いであるという根拠がない。

以上の2点で、>>560は筋違い。

649 :デフォルトの名無しさん:2011/02/12(土) 22:26:00
>>647
ォィ、書いた本人が引こうとしてるっぽいから
俺が飲み込んだことをアッサリとwww

650 :デフォルトの名無しさん:2011/02/12(土) 22:26:17
611 :デフォルトの名無しさん:2011/02/12(土) 21:22:38
>>608
手元にJISしかないけど、そういうこと
--pでpがstrの一つ前を指した時点でオーバフローが生じてもいい

613 :デフォルトの名無しさん:2011/02/12(土) 21:26:58
>>611
オーバーフローが生じるケースってどんなだ?


俺には613の方が的外れに見える

651 :デフォルトの名無しさん:2011/02/12(土) 22:28:20
613はコイツなんだよ↓

914 :デフォルトの名無しさん: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
こうして人は成長していくのであった^^;

652 :デフォルトの名無しさん:2011/02/12(土) 22:28:47
ここには恥ずかしい人しかいないから

653 :デフォルトの名無しさん:2011/02/12(土) 22:31:33
>>648
もう最後にしようぜ

(1)整数型からポインタ型への変換ができることは、処理系依存ではない。
>>596で答えてる
(2)処理系依存がスレ違いであるという根拠がない。
>>606で書いたとおり、最新の定義があるなら教えてくれ

654 :デフォルトの名無しさん:2011/02/12(土) 22:35:34
641 :デフォルトの名無しさん:2011/02/12(土) 22:07:24
>>632
JIS関係ないだろ、君がオーバーフローなんて的外れな例を出したから突っ込んだだけだ


6.5.6 加減演算子
ポインタオペランド及びその結果の両方が同じ配列オブジェクトの要素,又は配列オブジェクトの最後の要素を
一つ越えたところを指している場合,演算によって,オーバフローを生じさせてはならない。
それ以外の場合,動作は未定義とする。


それほど的外れにも見えないけど

655 :デフォルトの名無しさん:2011/02/12(土) 22:36:57
> (2)処理系依存がスレ違いであるという根拠がない。
> >>606で書いたとおり、最新の定義があるなら教えてくれ

君がスレ違いだと主張しているんだから
君が証明してやらねばいかんよw

656 :デフォルトの名無しさん:2011/02/12(土) 22:37:49
>>653
> (1)整数型からポインタ型への変換ができることは、処理系依存ではない。
> >>596で答えてる

答えているが、無関係。
整数型からポインタ型への変換ができることは、処理系依存ではない。
処理系依存なのは、変換の結果だ。

> (2)処理系依存がスレ違いであるという根拠がない。
> >>606で書いたとおり、最新の定義があるなら教えてくれ

>>1が最新の定義。
そこに処理系依存がスレ違いであるという定義はない。

657 :デフォルトの名無しさん:2011/02/12(土) 22:37:54
これ以上はこちらで
http://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回を超えて修正を希望する場合は、新規に質問を投稿しなおしてください。
いずれも場合も、修正に応じることを保障するものではありません。

658 :デフォルトの名無しさん:2011/02/12(土) 22:39:34
>>645
そもそも未定義になるって話もよく判らんのよ
char a[] = "abc";
char* x;
x = a;
x--;
x の値は a のアドレス -1 でそのアドレスに何が有るかは不定だ、これは処理系依存ではない
では未定義という言葉は何処に適用するんだ?


659 :デフォルトの名無しさん:2011/02/12(土) 22:42:29
>>658
>>654

660 :デフォルトの名無しさん:2011/02/12(土) 22:43:13
>>658
x--; とすると鼻から悪魔が出るか、はたまたHDDがフォーマットされるかもしれないよって意味じゃね?

661 :デフォルトの名無しさん:2011/02/12(土) 22:43:16
>>658
アクセスしたときの動作だよ
馬鹿じゃないの

662 :デフォルトの名無しさん:2011/02/12(土) 22:44:28
ムバラク政権が崩壊したのもこのx--;のせいだしな。

663 :デフォルトの名無しさん:2011/02/12(土) 22:47:08
>>654
その 6.5.6 って意味がよく判らん記述だなぁ、解りやすく解説できる?

そもオーバーフローとは加算・乗算によって桁あふれを起こす場合だろ
減算によって引き起こされるのはアンダーフローって呼ぶのでは?

664 :デフォルトの名無しさん:2011/02/12(土) 22:47:49
規格ってのは、○○したら△△となる(ようにコンパイラ作れ)、という決め事なんだよ。
未定義ってのは、あなた(コンパイラ作る人)の自由にしてね、ってこと。

665 :デフォルトの名無しさん:2011/02/12(土) 22:48:04
>>655
>君がスレ違いだと主張しているんだから
>君が証明してやらねばいかんよw
知らんよ。
間違ってれば、間違ってると指摘すれば良いだけ
それが2chだろ?

>>656
>答えているが、無関係。
>整数型からポインタ型への変換ができることは、処理系依存ではない。
>処理系依存なのは、変換の結果だ。
どうぞ結果を伴わない処理でもやっててください

>>>1が最新の定義。
>そこに処理系依存がスレ違いであるという定義はない。
それは知らんかったよ
FAQも消えてるし、甘くなったのかな?

666 :デフォルトの名無しさん:2011/02/12(土) 22:49:19
>>663
抜き出しだから分かりにくいのはごめん
JISの該当箇所を読んでも分からないのか?

あとアンダーフローについての認識は間違ってるよ

667 :デフォルトの名無しさん:2011/02/12(土) 22:52:16
>>664
>あなた(コンパイラ作る人)の自由にしてね、ってこと。
それ、処理系定義
未定義は、それ以前の問題で考慮する必要すらないこと

668 :デフォルトの名無しさん:2011/02/12(土) 22:55:30
不定
未定義
処理系定義

文字通りそのままの意味だよね

669 :デフォルトの名無しさん:2011/02/12(土) 22:56:34
>>666
JISが何処に有るかも知らんので該当箇所を読んだことも無いよ、何処に有るか教えて

確かにアンダーフローの認識は誤ってたな、減算によって生じるのはなんて呼ぶのが正しいんだろ

670 :デフォルトの名無しさん:2011/02/12(土) 22:56:37
663 :デフォルトの名無しさん:2011/02/12(土) 22:47:08
>>654
その 6.5.6 って意味がよく判らん記述だなぁ、解りやすく解説できる?

そもオーバーフローとは加算・乗算によって桁あふれを起こす場合だろ
減算によって引き起こされるのはアンダーフローって呼ぶのでは?


釣りだろwwww

671 :デフォルトの名無しさん:2011/02/12(土) 22:58:28
>>661
アクセスした時に未定義になるのは、初期化してない領域にアクセスした場合、
>>658の未定義は、確保してない領域のポインタを作った場合の話

672 :デフォルトの名無しさん:2011/02/12(土) 22:59:15
>>669
>JISが何処に有るかも知らんので該当箇所を読んだことも無いよ、何処に有るか教えて
JISのページ行けばPDFで見れるよ

>確かにアンダーフローの認識は誤ってたな、減算によって生じるのはなんて呼ぶのが正しいんだろ
減算でもオーバーフロー

673 :デフォルトの名無しさん:2011/02/12(土) 23:03:04
> 減算によって引き起こされるのはアンダーフローって呼ぶのでは?

おそらくキャリーとボローのことがいいたいんだろうけど
・・・痛いなw

674 :デフォルトの名無しさん:2011/02/12(土) 23:05:10
>>667
違うよ。
処理系定義は「実装はあなたが決めてね」だが、何らかの結果を伴う必要がある「決め事」である。
未定義は考慮してもしなくてもいい、という意味。

675 :デフォルトの名無しさん:2011/02/12(土) 23:07:42
>>672
見られないな、chrome ではダメなんだろうか、まぁどうでも良い話だから手間かけてまで読もうとも思わんけどね

676 :デフォルトの名無しさん:2011/02/12(土) 23:09:47
アンダーフロー
Wikipediaですまんが

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

677 :デフォルトの名無しさん:2011/02/12(土) 23:12:15
>>675
どうでも良い割には食いつきよかったね^^

678 :デフォルトの名無しさん:2011/02/12(土) 23:14:28

ポインタオペランド(a[i])及びその結果(a+i)の両方が
同じ配列オブジェクトの要素(0=<i,i<(sizeof(a)/sizeof(a[0]))),
又は配列オブジェクトの最後の要素を 一つ越えたところを指している場合,
(i==(sizeof(a)/sizeof(a[0]))演算によって,
オーバフローを生じさせてはならない。
それ以外の場合,動作は未定義とする。

679 :デフォルトの名無しさん:2011/02/12(土) 23:15:31
>>675
そうか残念、でも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.

680 :デフォルトの名無しさん:2011/02/12(土) 23:21:05
>>678
ポインタオペランドはaじゃない?
前後見てないから何だけど

681 :デフォルトの名無しさん:2011/02/12(土) 23:28:14
結局オーバーフローとアンダーフローの違いも分からない奴がJIS規格も知らずに
「減算で未定義動作の例がオーバーフローとか的外れワロスw」って騒いでただけかw

682 :デフォルトの名無しさん:2011/02/12(土) 23:30:17
意外と◆QZaw55cn4cだったりしてなw

683 :デフォルトの名無しさん:2011/02/12(土) 23:30:58
アクセスするならまだしも「演算も未定義動作を引き起こす」って割と罠だから
いらんこと考えすぎるのも分かる気がする

684 :デフォルトの名無しさん:2011/02/12(土) 23:33:55
なんかいろいろいわれているが
>>611の、
> --pでpがstrの一つ前を指した時点で
これがすでにありえないコードなんだけど。

>>612で終わらなかったことに驚いている。

685 :デフォルトの名無しさん:2011/02/12(土) 23:35:32
ループを抜けた時点で配列の先頭よりも前を指すポインタが生まれることがアウトなんだよ

686 :デフォルトの名無しさん:2011/02/12(土) 23:36:29
>>680
ここではaって見た方が意味が分かりやすいけど、全体を通してみると
ポインタオペランドって言葉が、ポインタに対する演算結果と言う意味で
使われているので多分a[i]で合ってると思う…
あとは、他の人にまかせた


687 :デフォルトの名無しさん:2011/02/12(土) 23:37:26
>>684
>これがすでにありえないコードなんだけど。
なんで?

688 :デフォルトの名無しさん:2011/02/12(土) 23:39:26
>>609も未定義になるんでしょ?
ループ抜けるときのpの値はstr-1なんだし

689 :デフォルトの名無しさん:2011/02/12(土) 23:41:11
>>685
「ループを抜けた時点で」←ダウト
配列の先頭よりも前を指すポインタと比較して、正しい結果が得られる保証がないため、ループを抜けないかもしれない

690 :デフォルトの名無しさん:2011/02/12(土) 23:46:44
>>689
「配列の先頭よりも前を指すポインタと比較して」←ダウト
未定義の処理なので、比較すらされないかもしれない

691 :デフォルトの名無しさん:2011/02/12(土) 23:49:31
え、配列の先頭よりも前を指すポインタを生んだ時点で未定義なの?
それは知らなかった。
初期化されていないポインタとか大丈夫なの

692 :デフォルトの名無しさん:2011/02/12(土) 23:52:48
>>691
>初期化されていないポインタとか大丈夫なの
不定値になるから大丈夫
そもそも「意図的な演算によって」不正なアドレスを生成するのと初期化で勝手に値が入るのは別

693 :デフォルトの名無しさん:2011/02/12(土) 23:54:31
>>691
>え、配列の先頭よりも前を指すポインタを生んだ時点で未定義なの?
違います。
演算結果が、配列の先頭よりも前を指すポインタを生んだ時点で未定義になります
初期化されてないポインタは演算されてないので、無問題です。

694 :デフォルトの名無しさん:2011/02/12(土) 23:55:29
>>692
不正なアドレスをポインタに代入することが未定義だってことなんだよね?
ついに規格を読む日が来たか

695 :694:2011/02/12(土) 23:56:31
>>693
そのポインタに対して、何かしらのポインタ演算を行った場合に未定義になるのかと思ってた

696 :692:2011/02/12(土) 23:59:56
>>694
>>693が書いてる通りで、「演算によって有効でないアドレスを生成する」と未定義の動作を引き起こす
んで、配列に関する「有効なアドレス」は「要素を指すアドレス」か「最後の要素を一つ越えたところ」
初期化はそもそも関係ない話

697 :デフォルトの名無しさん:2011/02/13(日) 00:01:00
>>695
初期化されてない変数等に対するアクセスと、ごっちゃになってない?
規格上のポインタに対する操作は厳しい

698 :694:2011/02/13(日) 00:03:59
>>696
つまり、C FAQの
> ポインター演算は、一度に割り振られた領域と、
> 仮想的な"終端"を越えた1つめの要素にだけ定義されていて、それ以外では未定義である。
> このことは、たとえポインターを参照に使っていないとしてもあてはまる。
> 上のコードはオフセットを引いた時に、とんでもないアドレスを作り出して
というくだりは、
オフセットを引いたときは未定義であるため、とんでもないアドレスを作り出す可能性があり
ということ?

>>697
そこはごっちゃになってないです

699 :デフォルトの名無しさん:2011/02/13(日) 00:07:26
>>698
>オフセットを引いたときは未定義であるため、
未定義なのでアドレスを作り終える前に鼻から悪魔が出てくるかも知れない

700 :デフォルトの名無しさん:2011/02/13(日) 00:09:58
>>698
JIS規格読んで。上の方にある引用でもいいから。未定義と書いてあるから未定義なの。
CFAQは一例としてそういうアーキテクチャを挙げているだけ。
っていうか未定義の原因をあれこれ考えるのは考えすぎだよ。

701 :694:2011/02/13(日) 00:15:17
>>700
ごめん、今引用されてることに気づかず、ちょうど6.5.6に到達してたところでした。
未定義になることを理解しました。
未定義の原因なんてものは考えてないです。なにをすることが未定義なのかを考えてました。

スレ汚しすみませんでしたー

702 :デフォルトの名無しさん:2011/02/13(日) 00:16:27
>>701
あぁ、純粋に普通の質問だったのか
きつく言い過ぎたよ、ごめんな

703 :デフォルトの名無しさん:2011/02/13(日) 00:44:06
ポインタ演算で配列の境界を越えてアクセスするような未定義の動作を行った場合、
それに続く比較の効果は未定義とする

比較されるかどうかもわからないのにわざわざ書いてるんだなぁ。

704 :デフォルトの名無しさん:2011/02/13(日) 01:15:43
>>703
???

705 :デフォルトの名無しさん:2011/02/13(日) 01:58:17
HSPの方がいいよね

706 :デフォルトの名無しさん:2011/02/13(日) 04:14:48
http://codepad.org/mnQqxE3E

これを実行しても、「test」に何もかかれないのですが、
なぜでしょうか?

707 :デフォルトの名無しさん:2011/02/13(日) 04:18:41
testを一度閉じてまた開いてみたら?

708 :デフォルトの名無しさん:2011/02/13(日) 04:20:27
>>707
何も起こりません・・・。

709 :デフォルトの名無しさん:2011/02/13(日) 04:26:00
自分の所では正常に実行出来たよ。環境は Mac OS X snow leopard。

710 :デフォルトの名無しさん:2011/02/13(日) 04:27:28
環境はWindows 7です。
テキストの名前は「test」なのか、「test.txt」なのかどっちでしょうか?

711 :デフォルトの名無しさん:2011/02/13(日) 04:30:11
test.txt だよ。プログラムに書いてある通り。

712 :デフォルトの名無しさん:2011/02/13(日) 04:50:30
>>711
あ、ありがとうございます!

できました^^

713 :デフォルトの名無しさん:2011/02/13(日) 05:15:41
とある配列のインデックス

714 :デフォルトの名無しさん:2011/02/13(日) 05:24:45
スーパーハカーさまにはかないませんなw

715 :デフォルトの名無しさん:2011/02/13(日) 13:25:41 ?2BP(0)
この流れで質問出していいのかな?;;
include <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);
}

読み込んだ整数の和 差 積 商 剰余を表示するプログラムのはずなのですが、
うまく動作しません。  指摘お願いします。

716 :デフォルトの名無しさん:2011/02/13(日) 13:27:05 ?2BP(0)
include <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);
}
読み込んだ整数の和 差 積 商 剰余を表示するプログラムがうまく動作しません
指摘お願いします。

717 :デフォルトの名無しさん:2011/02/13(日) 13:27:38
× /n
○ \n

718 : ◆QZaw55cn4c :2011/02/13(日) 13:37:30
状況(時刻に注目):
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

719 :デフォルトの名無しさん:2011/02/13(日) 14:09:55 ?2BP(0)
include <stdio.h>
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);
}
これでもうまくいきません;

720 :デフォルトの名無しさん:2011/02/13(日) 14:12:29
うまくって何なの?

721 :デフォルトの名無しさん:2011/02/13(日) 14:14:21
include <stdio.h>

#include <stdio.h>

722 :デフォルトの名無しさん:2011/02/13(日) 14:54:47
>>718
よう人格障害
事件を起こす前に精神科逝け

723 :デフォルトの名無しさん:2011/02/13(日) 15:00:37
吐いたエラー載せない奴ってなんなの?

724 :デフォルトの名無しさん:2011/02/13(日) 15:03:48
>燃料さらに投下言いい放題
言いい放題って日本語じゃねーだろw

725 :デフォルトの名無しさん:2011/02/13(日) 15:15:56
日本人じゃないから問題ない

726 :デフォルトの名無しさん:2011/02/13(日) 15:23:30
>>718
超キチガイ、それがどうスレのC言語に関係はるんだ
関係ないことを書いてスレを荒らしまくろうってしてるんだろ
さすが超キチガイ、荒らすことしかしないんだな

727 :デフォルトの名無しさん:2011/02/13(日) 15:26:23
すごくどうでもいい

728 :デフォルトの名無しさん:2011/02/13(日) 17:28:56
あの質問なんですけど、C言語の習得スピードって人によって違うのでしょうか?
友達は、明快C言語入門編を一週間で読破、次の一週間で中級編も読破しました。
でその次の二週間でアルゴリズムなどの入門書を読破していました。
今ではコンソールプログラムの基礎的なものなら大抵書けるようになってます。
結局一ヶ月でC言語きわめてますよね?これって普通ですか?


729 :デフォルトの名無しさん:2011/02/13(日) 17:34:06
>>728
>コンソールプログラムの基礎的なもの

これがおみくじプログラムとかテストの平均点を計算するプログラムとかなら
一ヶ月目としては普通じゃないの。

bc より高機能な電卓だったり、XML のパーサなんかだったらちょっと凄い。

730 :デフォルトの名無しさん:2011/02/13(日) 17:35:43
>>728
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int i;
char *str[] = {"普通","早い",遅い"}


731 :デフォルトの名無しさん:2011/02/13(日) 17:37:41
1ヶ月なら独自コンパイラ開発するレベルだろ常考

732 :デフォルトの名無しさん:2011/02/13(日) 17:47:11
普通より遅かったとして、一ヶ月目くらいで悲観的になる必要は全く無いよ。
プログラミングの分野なんて様々だから、半年もすれば得意分野・専門分野に別れて、
単純に能力の優劣を比較出来ないようになるもんだ。

733 :デフォルトの名無しさん:2011/02/13(日) 18:02:54
>>718
なんでお前スレ荒らしてるの?w
そんなに悔しいの?w

734 :デフォルトの名無しさん:2011/02/13(日) 18:06:06
自分が中学生で C 言語を勉強しようとした時は、
専門用語が読めなくて、一ヶ月を待たずして挫折したなあ

参考書高かったのに・・・

735 :デフォルトの名無しさん:2011/02/13(日) 18:26:21
て言うか、なんで他人が一ヶ月で極めたとか気にしてんの?

736 :デフォルトの名無しさん:2011/02/13(日) 18:27:14
#include<stdio.h>

int 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の中身変えるにはどうすればいいんでしょうか?

737 :デフォルトの名無しさん:2011/02/13(日) 18:34:10
>int dainyu(int)
>{
>int a;
>scanf("a--%d",&a);
>return 0;
>}
ひどすぎるw


738 :デフォルトの名無しさん:2011/02/13(日) 18:36:37
>>736
必要最低限の修正で
#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;
}

739 :736: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;
}


740 :デフォルトの名無しさん:2011/02/13(日) 18:52:49
>>738
ありがとうございました、参考書読み直します
>>739
どなたですか?最後のreturnに式が必要ですとエラーが出ました

741 :736、740:2011/02/13(日) 18:56:27
よく見たらreturnが重なってましたね、消したら正常に走りました。
勉強になります

742 :デフォルトの名無しさん:2011/02/13(日) 22:41:02
すみません、ヒントでもいいので教えていただけると幸いです。

id = (year*100000) + (month*1000) + (day*10) + (jikan-8)
特定の入力した年月日と時間を関数化し、そのreturnとして、IDを発行することになりました。
時間は18時未満限定なので、これで通用するのですが、関数化する事になって復元化が必要になりました。

呼び出しも関数からなのですが、復元する方法、あるいは分けて表示する方法、
year 年 month 月 day 日 の jikan 時間としたいのですが、いい手はないでしょうか。
単純に割っていくことも考えましたが、いまいちでした。

参考になるような計算式や言葉などありましたら、よろしくお願いします。

743 :デフォルトの名無しさん:2011/02/13(日) 22:43:32
10で割ったあまりとか1000で割ったあまりとか

744 :デフォルトの名無しさん:2011/02/13(日) 22:55:36
ハッシュ関数、MD5
かける数値は素数がいいよ

745 :デフォルトの名無しさん:2011/02/13(日) 22:57:37
>>742
年4桁
月2桁
日2桁
時2桁
分2桁
秒2桁

合計14桁なのでintに収まらない。
こういうのは構造体を使うとラク。

746 :デフォルトの名無しさん:2011/02/13(日) 23:01:03
>>745
ああごめん、分秒までは要らないのか。
だったら大きい方から商と剰余を求めていけば出てくるよ。

747 : ◆QZaw55cn4c :2011/02/13(日) 23:02:07
>>742
http://codepad.org/p34BxNub

>>745
そうですね。見抜けませんでした。

748 :デフォルトの名無しさん:2011/02/13(日) 23:05:33
>>742
struct hoge{

749 :デフォルトの名無しさん:2011/02/13(日) 23:07:14
ミスった
struct hoge{
uint 64_t id;
union{
uint16_t y;
uint16_t m;
uint16_t d;
uint16_t h;
}u;
};

750 :デフォルトの名無しさん:2011/02/13(日) 23:23:44
変数に
'@@'とか、文字を二つ以上格納したいのですが、

 切り捨てられました

とか言って格納できません。
何かj方法はありませんか?

751 :デフォルトの名無しさん:2011/02/13(日) 23:27:06
>>743-749
そんなに時間がたっていないのにありがとうございます。
構造体か、余りを使うかはこれから検証します。本当にありがとうございました。


752 :デフォルトの名無しさん:2011/02/13(日) 23:39:15
>>744
復元したいんだからダメじゃね?更に復元以前にハッシュ値が衝突しない保障はある?
素数が良いとか言う前にハッシュ関数とかMD5が何者か勉強しなおせwww

753 :デフォルトの名無しさん:2011/02/13(日) 23:39:46
>>745 >>747
秒までいるなんて書いてない。
8時 <= jikan < 18時なんだろ

754 :デフォルトの名無しさん:2011/02/13(日) 23:41:01
>>750
文字列(文字配列)に入れてください。

755 :デフォルトの名無しさん:2011/02/13(日) 23:42:30
>>750
もうチョットやりたい事とソースを晒したほうがいいと思う。
今のままだとあなたが期待していないことまで含めて100通りの答えが出てきそう…

756 :デフォルトの名無しさん:2011/02/13(日) 23:58:36
減算で起こるのはアンダフローでしょ?

757 :デフォルトの名無しさん:2011/02/14(月) 00:10:25
減算で起こるのかな。除算なら起こるけど。

758 :デフォルトの名無しさん:2011/02/14(月) 00:58:28
じゃあ減算でオーバーフローが起こる場合を言ってみろよw

759 :デフォルトの名無しさん:2011/02/14(月) 01:09:53
減算 オーバーフローでググれ

760 :デフォルトの名無しさん:2011/02/14(月) 01:20:49
>>756
減算ではオーバーフローもアンダーフローも起きるが
デクリメントではオーバーフローなら起きるけどアンダーフローは起きない


761 :デフォルトの名無しさん:2011/02/14(月) 01:57:48
ポインタ演算のオーバーフローだよ糞がw

762 :デフォルトの名無しさん:2011/02/14(月) 02:05:38
つかさぁ、規格とかほざいてる奴実際実行して確かめてみろよ
配列の前だろうがアクセスしなければ無問題

763 :デフォルトの名無しさん:2011/02/14(月) 02:06:48
それを「たまたま動いている」と表現するんだよ。
てか何で今になってまたこの話を?

764 :デフォルトの名無しさん:2011/02/14(月) 02:15:38
>>763
だったらポインタを減算してオーバーフローする例を出してみろよ
的外れなこと言ってんじゃねーぞw

765 :デフォルトの名無しさん:2011/02/14(月) 02:20:26
えw

766 :デフォルトの名無しさん:2011/02/14(月) 02:23:29
配列の前のアドレスを指したからって変なことが起きる環境を作ることのほうが難しいけど、規格は規格だしなぁw

767 :デフォルトの名無しさん:2011/02/14(月) 02:39:41
処理系の差異を吸収してくれるのが規格なのに
なんでその規格を敵に回すんだろう?
学生時代の車輪作成のクセが抜けないのかな

768 :デフォルトの名無しさん:2011/02/14(月) 02:42:23
>>767
規格外の男を演じたいんだよ

769 :デフォルトの名無しさん:2011/02/14(月) 02:42:35
アーキテクチャの壁の向こうをコンパイラで実現してるような環境で保護コードの適用漏れがあったりすれば破綻ありえるよな
nearモードの無理からfarモデルでたまたま配列の先頭がセグメントゼロ番地とかさ

770 :デフォルトの名無しさん:2011/02/14(月) 02:50:47
オーバーフローの例は的外れだったってことでおk?

771 :デフォルトの名無しさん:2011/02/14(月) 02:56:47
>>768
中二病じゃん

772 :デフォルトの名無しさん:2011/02/14(月) 03:02:37
int a[N], *p;

p = (int*)((int)a - 1);

これって未定義?

773 :デフォルトの名無しさん:2011/02/14(月) 03:05:55
>>772
整数型からポインタ型への変換の話再来かw

774 :デフォルトの名無しさん:2011/02/14(月) 03:10:20
1個前のアドレスなら
p = (int*)((int)a - sizeof(int));
のほうがいいんじゃね?

775 :デフォルトの名無しさん:2011/02/14(月) 03:12:41
>>770
お前まだそれ根にもってたのかw
オーバーフローにそこまで噛み付いてるのお前だけだぞw

776 :デフォルトの名無しさん:2011/02/14(月) 03:46:59
>>768
俺の下半身のポインタは規格外だぜ?

777 :デフォルトの名無しさん:2011/02/14(月) 03:54:49
>>755
http://codepad.org/00rlXrm3

遅れてすいません

@@と入れて、
出てくるのは@のみです

@@を格納させたいです

778 :デフォルトの名無しさん:2011/02/14(月) 03:54:56
>>776
ポインタの指す先はNULLNULL

779 :デフォルトの名無しさん:2011/02/14(月) 03:57:16
>>777
初期化時を除いて、文字列を代入することはできない。
sprintf()かstrcpy()を使うべし。

780 :デフォルトの名無しさん:2011/02/14(月) 04:13:21
インサーションしたい

781 :デフォルトの名無しさん:2011/02/14(月) 04:14:18
>>779
ありがとうございます!
調べてみます

782 :デフォルトの名無しさん:2011/02/14(月) 05:12:24
イカ娘とはなんですか?

783 :デフォルトの名無しさん:2011/02/14(月) 05:32:26
>>782
あなたそれ何処で知りました?
機密情報ですよ
みだりに口にすると射殺されますよ

784 :デフォルトの名無しさん:2011/02/14(月) 05:34:17
>>782-783
面白いねー

785 :デフォルトの名無しさん:2011/02/14(月) 05:38:07
>>784
我慢できなかったんだねw

786 :デフォルトの名無しさん:2011/02/14(月) 05:39:56
面白いねーで勝った気になれるなら安いもんだ

787 :デフォルトの名無しさん:2011/02/14(月) 05:40:37
>>783
>>2

788 :デフォルトの名無しさん:2011/02/14(月) 05:44:33
俺がポインタだ

789 :デフォルトの名無しさん:2011/02/14(月) 05:53:21
>>786
なんだか大変そうだね
頑張って

790 :デフォルトの名無しさん:2011/02/14(月) 06:14:23
教えてエロい人
初期化してない変数へのアクセスってsizeofでも未定義なの?

typedef xxx foo;

foo *p;
sizeof( *p ); /* pは初期化してない */


791 :デフォルトの名無しさん:2011/02/14(月) 06:21:00
>>790
sizeof で変数にアクセスできるならそうだろうね。

792 :デフォルトの名無しさん:2011/02/14(月) 06:24:13
789 :デフォルトの名無しさん:2011/02/14(月) 05:53:21
>>786
なんだか大変そうだね
頑張って

793 :デフォルトの名無しさん:2011/02/14(月) 06:25:36
我慢できなくて釣られちゃうのはよくあることだ

794 :デフォルトの名無しさん:2011/02/14(月) 06:26:38
なんだか大変そうだね
頑張って


795 :デフォルトの名無しさん: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;


796 :デフォルトの名無しさん:2011/02/14(月) 06:30:27
sizeofはアクセスしないよ

797 :デフォルトの名無しさん:2011/02/14(月) 06:36:47
>>790
sizeof(struct foo);
と同じで処理系依存

>>792-794
仲良しだね

798 : ◆QZaw55cn4c :2011/02/14(月) 06:37:42
>>790
sizeof のなかで *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 ~

799 :デフォルトの名無しさん:2011/02/14(月) 06:37:57
頑張って釣られてるなぁ

800 :デフォルトの名無しさん:2011/02/14(月) 06:38:34
>>798
氏ね

801 : ◆QZaw55cn4c :2011/02/14(月) 06:42:49
>>799
今までの議論に例を出して異議を唱えているつもりです。

802 :デフォルトの名無しさん:2011/02/14(月) 06:43:29
>>801
お前は相変わらず糞だな

803 :デフォルトの名無しさん:2011/02/14(月) 06:48:08
結局、何が正しいのか分からんのだが…
sizeofは基本的にコンパイル時に評価されると思ってたから、
何をしても、アクセスしないだろうってタカを括ってたんだが
良く考えたらC99で可変サイズが可能になったよね?
で、それに伴って、実行時に評価されることもあるよね?
実装を考えれば安全だとは思うのだが、規格上でも、本当に安全?

int max=5;
int hoge[max]; /* C99 */
for( i=0; i<(sizeof(hoge)/sizeof(hoge[0])); i++) hoeg[i] = i;


804 : ◆QZaw55cn4c :2011/02/14(月) 06:48:42
>>797
処理系依存とは変ですね。sizeof(*p) や sizeof(struct foo) がどうして処理系依存になるのでしょうか。
sizeof(int*) や sizeof(struct foo) の値自体は処理系依存としても、sizeof 演算子を適用して結果を出すという動作が行われることは間違いないと思いますが。

805 : ◆QZaw55cn4c :2011/02/14(月) 06:50:09
>>803
なるほど、
>C99で可変サイズが可能になった
ということですか。

806 :デフォルトの名無しさん:2011/02/14(月) 06:50:38
>>797
>sizeof(struct foo);
>と同じで処理系依存

んなわけないだろ。

返る値の話じゃないよ。

807 :デフォルトの名無しさん:2011/02/14(月) 06:53:36
>>904-906
値についてね
未定義でないのは明白なのではしょった

808 :デフォルトの名無しさん:2011/02/14(月) 06:54:57
>>803
後出しで可変長出して偉そうに吠えてんじゃねーよw

809 :デフォルトの名無しさん:2011/02/14(月) 06:57:58
今度はsizeof君か

810 :デフォルトの名無しさん:2011/02/14(月) 06:58:04
>>808
>>803が未定義だと、突き詰めて考えれば>>790も未定義なるから、小出しに聞いただけ
で、結論を教えてプリーズ

811 :デフォルトの名無しさん:2011/02/14(月) 06:59:21
いや規格読めよ

812 : ◆QZaw55cn4c :2011/02/14(月) 07:00:54
>>800
>>802
ヨフカシヨクナイ

813 :デフォルトの名無しさん:2011/02/14(月) 07:01:59
◆QZaw55cn4cが今度はスレをあげて荒らし始めた

814 :デフォルトの名無しさん:2011/02/14(月) 07:03:30
>>811
ネタを小出しに脹らませていけば、誰か調べてくれるかなと…
みんな興味あるでしょ?

815 :デフォルトの名無しさん:2011/02/14(月) 07:05:22
>>814
みんな知ってます

816 :デフォルトの名無しさん:2011/02/14(月) 07:06:36
>>814
氏ね

817 :デフォルトの名無しさん:2011/02/14(月) 07:08:32
>>816
まぁ、そう言わずに教えてくれ
手元に規格書なくて、JISも見れんのよ

818 :デフォルトの名無しさん:2011/02/14(月) 07:08:33
>>803が未定義だと、突き詰めて考えれば>>790も未定義なるから
ならねーよ馬鹿じゃねーの
そもそも>>790は可変長配列関係ないし、変数へのアクセスと型のサイズと静的動的がごっちゃになってるよ

819 :デフォルトの名無しさん:2011/02/14(月) 07:10:55
これは低級な釣りだな

820 :デフォルトの名無しさん:2011/02/14(月) 07:13:00
未初期化変数の話が可変長配列のサイズの話になってる時点で論外だわ

821 :デフォルトの名無しさん: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って糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ


822 :デフォルトの名無しさん:2011/02/14(月) 07:22:00
>>8189 >>820
/* pは初期化してない */
ごめん、これtypo
/* *pは初期化してない */
が正しい


823 :デフォルトの名無しさん:2011/02/14(月) 07:22:03
typedef xxx foo;

foo *p;//未初期化のポ゚インタ
sizeof(*p);//アクセスによって未定義動作を引き起こす

824 :デフォルトの名無しさん:2011/02/14(月) 07:27:01
>>821
お前モナー

825 :デフォルトの名無しさん:2011/02/14(月) 07:28:07
そして急に答えられなくなった◆QZaw55cn4c

826 :デフォルトの名無しさん:2011/02/14(月) 07:28:53
>>824
ちゃんとトリップ付けて書き込めよクズ

827 :デフォルトの名無しさん:2011/02/14(月) 07:38:31
一応>>790の質問で聞きたかったことを省略しないで正しく書いて置きまふ

typedef xxx foo; /* sizeof(型名) を使いたくない */

foo s, *p;
p = &s;
sizeof( *p ); /* *pは初期化してない */

828 : ◆QZaw55cn4c :2011/02/14(月) 07:40:47
>>823
あげられている例でいえば、どちらも未定義でも処理系依存でもないですよ。
#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
$

829 :デフォルトの名無しさん:2011/02/14(月) 07:42:19
はい釣れた

830 :デフォルトの名無しさん:2011/02/14(月) 07:49:57
int a;
sizeof(a);//aは初期化されてないため未定義動作

831 :デフォルトの名無しさん:2011/02/14(月) 07:53:13
>>830
それ本当に未定義だったら嫌だな…

832 :デフォルトの名無しさん:2011/02/14(月) 07:56:22
って思ったけど、使い道ないか

833 :デフォルトの名無しさん:2011/02/14(月) 08:06:58
>>828
xxx次第でしょ
typedef struct hoge{...};
typedef struct hoge xxx;
とかだったら処理系依存だし。


834 :デフォルトの名無しさん:2011/02/14(月) 08:13:04
何を処理系依存だと言ってるんだろう。

835 :デフォルトの名無しさん:2011/02/14(月) 08:29:41
>>823
typedef xxx foo; /* sizeof(型名) を使いたくない */

foo s, *p;
p = &s;
1; /* 1は初期化してない */
2; /* 2は初期化してない */
3; /* 3は初期化してない */
4; /* 4は初期化してない */

836 :デフォルトの名無しさん:2011/02/14(月) 16:10:19
スレ地かもだけど

プログラムがどの様にメモリ上に展開され、動作するか、
ヒープやスタックがどのように確保されるか、レジスタについて
などが解説されている本のオススメ教えてください。

Cの本にはプログラムがどう展開されるかとか載ってないし、
アセンブラの本にはヒープとかについてが載ってない。。


837 :デフォルトの名無しさん:2011/02/14(月) 16:57:23
書籍スレにどうぞ。あー、「推薦図書/必読書」か。

838 :デフォルトの名無しさん:2011/02/14(月) 17:23:52
ヒープやスタックはC言語がそういってるだけで、どちらも同じメモリ。

839 :デフォルトの名無しさん:2011/02/14(月) 18:04:10
char w[5] = 'a,b,c,d,e'
となっている配列からeだけを除去して、

w[5] = 'a,b,c,d'
にすることが出来ますか?

840 :デフォルトの名無しさん:2011/02/14(月) 18:09:01
出来ますん

841 :デフォルトの名無しさん:2011/02/14(月) 18:12:35
餌でか

842 :デフォルトの名無しさん:2011/02/14(月) 18:13:54
>>840
どうやってしますか?

843 :デフォルトの名無しさん:2011/02/14(月) 18:14:59
そもそも構文エラーです。

844 :デフォルトの名無しさん:2011/02/14(月) 18:18:31
>>843
すみません
わかりやすいように例をあげただけです。

845 :デフォルトの名無しさん:2011/02/14(月) 18:19:17
>>844
では言い換えましょう。
そもそも構文エラーです。

846 :デフォルトの名無しさん:2011/02/14(月) 18:22:24
>>845
char w[5] = {'a,b,c,d,e'}

こうですか?

847 :デフォルトの名無しさん:2011/02/14(月) 18:25:34
w[4]='\0'でおk

848 :デフォルトの名無しさん:2011/02/14(月) 18:29:36
>>846
構文エラーです。

849 :デフォルトの名無しさん:2011/02/14(月) 18:30:06
>>847
なるほど!
ありがとうございました!

850 :デフォルトの名無しさん:2011/02/14(月) 18:34:57
>>847
あなたは神ですね!
他のクズどもとは違いますね

851 :デフォルトの名無しさん:2011/02/14(月) 18:36:22
>>847以外の糞たちはこのスレに必要ない気がしますが、どうでしょう

852 :デフォルトの名無しさん:2011/02/14(月) 18:36:48
さすが>>847は格が違った

853 : ◆QZaw55cn4c :2011/02/14(月) 18:45:10
>>836
MS-DOS 時代は C とアセンブラをリンクしたりすることも多く、書籍も多かったのですが、たとえばWindows 上でアセンブラ由来のオブジェクトをリンクするような
書籍はみたことがないですね。cl にソースを吐かせて眺めることから着手するしかないかなあ。

854 :デフォルトの名無しさん:2011/02/14(月) 18:51:46
>>853
と無職の中年ジジイが申しております
使ってるソフトも多分全部割れ

855 :デフォルトの名無しさん:2011/02/14(月) 18:54:19
リンクでずっこけたときアセンブラの知識ないと詰みだろ

856 :デフォルトの名無しさん:2011/02/14(月) 19:09:45
ズッコケ三人組
コンパイラ、アセンブラ、リンカ

857 :デフォルトの名無しさん:2011/02/14(月) 19:19:33
>>839
Cの痛いところを突かれて土方発狂ww

858 :デフォルトの名無しさん:2011/02/14(月) 19:21:53
↑サドルマン

859 :デフォルトの名無しさん:2011/02/14(月) 19:26:41
文字列の置き換えさえも簡単にできないC哀れ

860 :デフォルトの名無しさん:2011/02/14(月) 19:29:18
↑Perl忍者

861 :デフォルトの名無しさん:2011/02/14(月) 19:43:41
callocの使い方忘れちゃったんだけど見直したら思い出すレベルだったらおk?

862 :デフォルトの名無しさん:2011/02/14(月) 19:44:38
>>861
おk。環境にもよるけど、manを読めればますますおk。

863 :836:2011/02/14(月) 20:06:46
>>837
ありがとう

864 :836:2011/02/14(月) 20:09:12
>>838
ヒープは低位メモリから、スタックは高位メモリから
確保されるらしいです。
そのあたりの違いを知りたくて。

865 :デフォルトの名無しさん:2011/02/14(月) 21:23:11
>>864
メモリの確保方法はコンパイラを作る人の自由

866 :デフォルトの名無しさん:2011/02/14(月) 21:28:24
>>864
heap grows up & stack grows down になるよう作れば
そのようになるってだけの話。
アーキテクチャのマニュアルに必ず明記されてるので
それを確認すればいいよ。

867 :デフォルトの名無しさん:2011/02/14(月) 22:01:00
>>830-832
いや、それ未定義だったら

int a[10];
int i;
for(i = 0; i < sizeof(a)/sizeof(a[0]); i++){
...
}

も未定義になるんじゃないか。

そうだったら困るよ、この手のコード山ほど書いてきたから。


868 :デフォルトの名無しさん:2011/02/14(月) 22:07:07
>>867
俺も困る
下記のコードがNGだから、sizeof演算子はアクセスしないって信じてます

sizeof(i++)

869 :デフォルトの名無しさん:2011/02/14(月) 22:11:33
>>867
大丈夫、ネタだって
GCCではARRAY_SIZEってマクロが同じ手法でlibiberty.hに定義されてるよ

870 :デフォルトの名無しさん:2011/02/14(月) 22:14:51
>>869
規格を語る時にgccを引き合いに出されても…

871 :デフォルトの名無しさん:2011/02/14(月) 22:19:43
◆QZaw55cn4cがまたやらかしたぞw

407 名前: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

872 :デフォルトの名無しさん:2011/02/14(月) 22:27:23
>>867
i=0って初期化してるやん

873 :デフォルトの名無しさん:2011/02/14(月) 22:27:35
高卒低学歴のくせにこんなことを言い出す◆QZaw55cn4c

236 : ◆QZaw55cn4c :2011/02/14(月) 21:47:30
>>234
そうですか?「学食大盛り一杯分」あたりを狙ってみたんですが。

874 :デフォルトの名無しさん:2011/02/14(月) 22:40:04
415 名前:デフォルトの名無しさん[sage] 投稿日:2011/02/14(月) 22:27:10
おまいら細かいだろ、
ここは学校の課題をこなすところだぞ

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
おこったぞー、やりかえしてやるー

875 :デフォルトの名無しさん:2011/02/14(月) 22:46:11
>>870
あっゴメン、そういう流れだったのか

以下、JIS X3010:2003(ISO/IEC 9899:1999) 6.5.3.4 sizeof演算子 辺りより抜粋

オペランドの型が可変長配列型である場合は、オペランドを評価する。そうでない場合、
オペランドは評価せず、その結果は、整数定数とする。

例2. sizeof演算子のもう一つの用途は、次のようにして配列の要素の個数を求めることである。
sizeof array / sizeof array[0]

でいいかな?

876 :デフォルトの名無しさん:2011/02/14(月) 22:50:12
>>875
なるほど、今までのコードは安全だけど、可変長は駄目ってことだな。
ってことは、その例もarrayが可変長だと評価されてしまってNGになるってことか。

877 :デフォルトの名無しさん:2011/02/14(月) 22:51:04
当然

878 :デフォルトの名無しさん:2011/02/14(月) 22:55:45
初心者ですが質問します。
型は基本的にはint,double,charのみでいいんでしょうか
もちろんサイズなどもあるとおもいますが
解答よろしくお願いします。

879 :デフォルトの名無しさん:2011/02/14(月) 22:57:02
はいそれでいいです

880 :デフォルトの名無しさん:2011/02/14(月) 23:01:12
>>879
ありがとうございます

881 :デフォルトの名無しさん:2011/02/14(月) 23:04:16
>>879
ちょ、おま

882 :デフォルトの名無しさん:2011/02/14(月) 23:04:35
教えてエロい人
初期化してない変数へのアクセスってsizeofでも未定義なの?

typedef xxx foo;

foo *p;
sizeof( *p ); /* pは初期化してない */

883 :デフォルトの名無しさん:2011/02/14(月) 23:07:19
ホントくどいね

884 :デフォルトの名無しさん:2011/02/14(月) 23:07:48
恥ずかしい過去w

885 :デフォルトの名無しさん:2011/02/14(月) 23:10:28
「sizeofでアクセス」に突っ込まれる

「は?可変長配列も含む話だしw」

で、その話はまだ続いてるようだが

886 :デフォルトの名無しさん:2011/02/14(月) 23:11:33
>>885
875で終わってる

887 :デフォルトの名無しさん:2011/02/14(月) 23:12:55
>>886
恥ずかしかったのは分かるよ

888 :デフォルトの名無しさん:2011/02/14(月) 23:13:31
餌でかすぎ
つーか、しつこい!

889 :デフォルトの名無しさん:2011/02/14(月) 23:14:03
で、結局sizeofは未定義なの?

890 :デフォルトの名無しさん:2011/02/14(月) 23:14:59
>>888
うんうん、恥ずかしいよね^^
餌デカイけど我慢してね^^

教えてエロい人
初期化してない変数へのアクセスってsizeofでも未定義なの?

typedef xxx foo;

foo *p;
sizeof( *p ); /* pは初期化してない */

891 :デフォルトの名無しさん:2011/02/14(月) 23:16:33
あぁ、可変長配列という逃げがあったわけね

892 :デフォルトの名無しさん:2011/02/14(月) 23:17:19
>>890
xxx次第

893 :デフォルトの名無しさん:2011/02/14(月) 23:17:27
ISOれks

894 :デフォルトの名無しさん:2011/02/14(月) 23:19:35
1時間でも2時間でもクンニし続けるタイプ

895 :デフォルトの名無しさん:2011/02/14(月) 23:19:37
>>892
可変の入り込む余地ないだろ

896 :デフォルトの名無しさん:2011/02/14(月) 23:19:51
>>892
あぁ、あれね。可変長配列を後出しにするんでしょ?分かってるよw

897 :デフォルトの名無しさん:2011/02/14(月) 23:20:56
>>894
頑張って餌に食らい付けよsizeof君

898 :デフォルトの名無しさん:2011/02/14(月) 23:21:16
>>876
確信ないけど、可変長配列でも大丈夫なような気がする。
「オペランドを評価する」というのは、静的=コンパイル時決定ではなく
動的=実行時決定のこと言ってるんだと思う。
もう一度言っておくと確信ないからね。
誰か原文(ISO/IEC 9899:1999)読んでフォローしてくれ。

899 :デフォルトの名無しさん:2011/02/14(月) 23:25:03
>>862
遅れましたがありがとうございました。

900 :デフォルトの名無しさん:2011/02/14(月) 23:25:09
可変長配列だと>>890は未定義になるの?
>>810にはそんなことが書いてあるけど

901 :デフォルトの名無しさん:2011/02/14(月) 23:25:25
>>898
sizeof array
↑って実行時評価だろ
sizeof array[0]
問題は↑が実行時評価になるかどうかだ
実装する上では素直にコンパイル時評価のはずだが、
規格を読むだけでは、どちらとでも取れるからな…

902 :デフォルトの名無しさん:2011/02/14(月) 23:26:12
>>897
よう、なめ達磨

903 :デフォルトの名無しさん:2011/02/14(月) 23:27:19
面白いねー

904 :デフォルトの名無しさん:2011/02/14(月) 23:28:49
あなたが解けない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回を超えて修正を希望する場合は、新規に質問を投稿しなおしてください。
いずれも場合も、修正に応じることを保障するものではありません。

905 :デフォルトの名無しさん:2011/02/14(月) 23:29:52
sizeof演算子不要説

906 :デフォルトの名無しさん:2011/02/14(月) 23:31:13
>>905
それはない

907 :デフォルトの名無しさん:2011/02/14(月) 23:34:02
>>903
ぺろぺろぺろぺろ

908 :905:2011/02/14(月) 23:34:26
>>906
ごめん、ネタで書いただけなんだけど、気分を害してしまったようですね。
sizeofは私も使ってるので、不要だと思ったことは一度もないです。

909 :デフォルトの名無しさん:2011/02/14(月) 23:35:34
>>907
ぺろぺろぺろぺろ

910 :デフォルトの名無しさん:2011/02/14(月) 23:35:49
>>909
ぺろぺろぺろぺろ

911 :デフォルトの名無しさん:2011/02/14(月) 23:36:22
>>910
ぺろぺろぺろぺろ

912 :デフォルトの名無しさん:2011/02/14(月) 23:36:27
>>901
>規格を読むだけでは、どちらとでも取れるからな…
には同意

>sizeof array[0]
>問題は↑が実行時評価になるかどうかだ
これはいみふ。
例え可変長配列であろうともarray要素の型が動的に変化することはないので。
従って、静的決定だろうが動的決定だろうが結果は同じ。
sizeof演算子はあくまでもオペランドの記憶領域サイズを結果として返すのみ。

っていうのは、なんか勘違いしてるかな?


913 :デフォルトの名無しさん:2011/02/14(月) 23:37:28
>>912
ぺろぺろぺろぺろ

914 :デフォルトの名無しさん:2011/02/14(月) 23:37:47
>>912
ぺろぺろぺろぺろ

915 :デフォルトの名無しさん:2011/02/14(月) 23:38:47
>>912
ぺろぺろぺろぺろ

916 :デフォルトの名無しさん:2011/02/14(月) 23:38:52
>>917
ぺろぺろぺろぺろ

917 :デフォルトの名無しさん:2011/02/14(月) 23:46:31
>>916
ぺろぺろぺろぺろ

918 :デフォルトの名無しさん:2011/02/14(月) 23:47:29
お前らスレチだからこっちでやれ

【モリタポ有償】C/C++の問題を片付けます(2)
http://hibari.2ch.net/test/read.cgi/tech/1295273862/

919 :デフォルトの名無しさん:2011/02/14(月) 23:51:33
い、いぐっ

920 :デフォルトの名無しさん:2011/02/14(月) 23:58:08
この流れから答えを拾えない奴に ISO れks は酷だったか

921 :デフォルトの名無しさん:2011/02/14(月) 23:59:28
893 :デフォルトの名無しさん:2011/02/14(月) 23:17:27
ISOれks

これがスルーされて涙目ってとこか

922 :デフォルトの名無しさん:2011/02/15(火) 00:04:15
これは流行らないな

923 :デフォルトの名無しさん:2011/02/15(火) 00:04:27
>>912
俺も原文を、どう読めば良いのか分からんが
オペランドを評価するって言葉の意味は、下記の意味だと思った

int i=5;
int array[i];
sizeof(i-1); // 意味のない例だけど、i-1を評価して未定義になる

924 :デフォルトの名無しさん:2011/02/15(火) 00:06:39
>>923
なんか書き間違えてない?
その例だとsizeof(i-1)は普通にコンパイル時に評価される

925 :デフォルトの名無しさん:2011/02/15(火) 00:07:45
最悪時間考慮杞憂説

926 :デフォルトの名無しさん:2011/02/15(火) 00:09:34
>>924
だね…orz

int i=5;
int array[i];
sizeof(array-1); // 意味のない例だけど、i-1を評価して未定義になる

927 :926:2011/02/15(火) 00:11:51
コメントを修正してなかった…orz
寝る

928 :デフォルトの名無しさん:2011/02/15(火) 00:15:20
>>923
sizeofはオペランドの記憶領域サイズを返すんだから、
sizeof(i-1) sizeof(i) sizeof(int) sizeof(1)
は全て同じ値に静的にコンパイル時決定される。

sizeof(array)は動的に実行時決定される。
但し、この例の場合にはコンパイラの最適化により静的にコンパイル時決定されるかもね。

で、キチガイが湧いてきたのでこれで終りにします。ゴメン

929 :デフォルトの名無しさん:2011/02/15(火) 00:15:49
オペランドの型が可変長配列型である場合,オペランドを評価する。
そうでない場合,オペランドは評価せず,その結果は,整数定数とする。

930 :デフォルトの名無しさん:2011/02/15(火) 00:17:52
C言語ってC++みたいにコンパイルするとき、ライブラリ関数の
コードのリンクみたいな処理必要ないんですか?


931 :デフォルトの名無しさん:2011/02/15(火) 00:18:12
>>929はJISからの引用ね

>>928
最後の一文はいらない

932 :デフォルトの名無しさん:2011/02/15(火) 00:22:24
この「評価」は実行時の話だから、>>926の例(最適化しないとして)は未定義と見なしていいということかな

933 :デフォルトの名無しさん:2011/02/15(火) 00:22:33
真面目に回答してるところアレだけど
現時点で分からないと言ってるのは
ぺろぺろしたいだけの舐め達磨だけだと思うのだが。

934 :デフォルトの名無しさん:2011/02/15(火) 00:25:56
舐め達磨とか言ってるのも一人だけだな
はてさて

935 :デフォルトの名無しさん:2011/02/15(火) 00:28:23
なめ達磨流行らそうとしてたのかw
ISOれksもこいつかw

936 :デフォルトの名無しさん:2011/02/15(火) 00:29:14
>>933
ぺろぺろぺろぺろ

937 :デフォルトの名無しさん:2011/02/15(火) 00:30:20
>>935
そのクドさ
お前舐め達磨だろw
これでも食らえ
ぺろぺろぺろぺろ

938 :デフォルトの名無しさん:2011/02/15(火) 00:30:24
アセンブリブリザエモン!!!


939 :デフォルトの名無しさん:2011/02/15(火) 00:30:37
902 :デフォルトの名無しさん:2011/02/14(月) 23:26:12
>>897
よう、なめ達磨

903 :デフォルトの名無しさん:2011/02/14(月) 23:27:19
面白いねー

907 :デフォルトの名無しさん:2011/02/14(月) 23:34:02
>>903
ぺろぺろぺろぺろ


なんだ、なめ達磨って自分のことじゃん

940 :デフォルトの名無しさん:2011/02/15(火) 00:31:39
>>937
流行らなかったからって荒らしは良くないよ

941 :デフォルトの名無しさん:2011/02/15(火) 00:32:53
気持ち悪いやつと2人きりになっちまった(おえ

942 :デフォルトの名無しさん:2011/02/15(火) 00:33:24
>>937
頼むからキチガイは消えてくれ

943 :デフォルトの名無しさん:2011/02/15(火) 00:34:11
あげ

944 :デフォルトの名無しさん:2011/02/15(火) 00:34:39
>>942
これでも食らえ
ぺろぺろぺろぺろ

945 :デフォルトの名無しさん:2011/02/15(火) 00:35:34
>>942
舐められるのには弱い舐め達磨w
ぺろぺろぺろぺろ

946 :デフォルトの名無しさん:2011/02/15(火) 00:35:42
>>945
ぺろぺろぺろぺろ

947 :デフォルトの名無しさん:2011/02/15(火) 00:36:38
>>942
ぺろぺろぺろぺろ

948 :デフォルトの名無しさん:2011/02/15(火) 00:36:59
>>945
ぺろぺろぺろぺろ

>>946
頼むからキチガイは消えてくれ

949 :デフォルトの名無しさん:2011/02/15(火) 00:36:59
>>942
ぺろぺろぺろぺろ

950 :デフォルトの名無しさん:2011/02/15(火) 00:37:44
>>948
ぺろぺろぺろぺろ

951 :デフォルトの名無しさん:2011/02/15(火) 00:38:09
>>943
ぺろぺろぺろぺろ

952 :デフォルトの名無しさん:2011/02/15(火) 00:38:51
>>901
ぺろぺろぺろぺろ

953 :デフォルトの名無しさん:2011/02/15(火) 00:39:25
>>944
ぺろぺろぺろぺろ

954 :デフォルトの名無しさん:2011/02/15(火) 00:40:12
>>960
ぺろぺろぺろぺろ

955 :デフォルトの名無しさん:2011/02/15(火) 00:40:59
>>960
ぺろぺろぺろぺろ

956 :デフォルトの名無しさん:2011/02/15(火) 00:41:22
>>960
ぺろぺろぺろぺろ

957 :デフォルトの名無しさん:2011/02/15(火) 00:42:01



ぺろぺろぺろぺろ





958 :デフォルトの名無しさん:2011/02/15(火) 00:42:36
>>920
ぺろぺろぺろぺろ

959 :デフォルトの名無しさん:2011/02/15(火) 00:43:23
>>999
ぺろぺろぺろぺろ

960 :デフォルトの名無しさん:2011/02/15(火) 00:44:05
>>961
ぺろぺろぺろぺろ

961 :デフォルトの名無しさん:2011/02/15(火) 00:44:33
>>962
ぺろぺろぺろぺろ

962 :デフォルトの名無しさん:2011/02/15(火) 00:46:35
>>963
ぺろぺろぺろぺろ

963 :デフォルトの名無しさん:2011/02/15(火) 00:47:40
>>964
ぺろぺろぺろぺろ

964 :デフォルトの名無しさん:2011/02/15(火) 00:50:50
>>965
ぺろぺろぺろぺろ

965 :デフォルトの名無しさん:2011/02/15(火) 00:52:14
>>966
ぺろぺろぺろぺろ

966 :デフォルトの名無しさん:2011/02/15(火) 00:52:29
>>967
ぺろぺろぺろぺろ

967 :デフォルトの名無しさん:2011/02/15(火) 00:53:36
>>968
ぺろぺろぺろぺろ

968 :デフォルトの名無しさん:2011/02/15(火) 00:56:31
やっぱホンマモノはクドさが半端ねぇわ
舐め達磨さん
ぺろぺろしてすいませんでした

969 :デフォルトの名無しさん:2011/02/15(火) 00:56:59
ttp://www.uproda.net/down/uproda250401.jpg

てめーらはあずぺろでもしてろ

970 :デフォルトの名無しさん:2011/02/15(火) 01:01:36
>>968
氏ね

971 :デフォルトの名無しさん:2011/02/15(火) 01:01:56
◆QZaw55cn4c

972 :デフォルトの名無しさん:2011/02/15(火) 01:04:03
あずにゃんペロペロ^^

973 :デフォルトの名無しさん:2011/02/15(火) 01:05:43
初期化してない変数へのアクセスってsizeofでも未定義なの?

typedef xxx foo;

foo *p;
sizeof( *p ); /* pは初期化してない */

974 :デフォルトの名無しさん:2011/02/15(火) 01:07:44
 

975 :デフォルトの名無しさん:2011/02/15(火) 01:09:25


976 :デフォルトの名無しさん:2011/02/15(火) 01:10:54
サンプルの取り方からなってねえんだよ
そこが論点なら
sizeof p
だろうがよ低脳

977 :デフォルトの名無しさん:2011/02/15(火) 01:11:47
俺は高脳だけどな

978 :デフォルトの名無しさん:2011/02/15(火) 01:12:13
aho

979 :デフォルトの名無しさん:2011/02/15(火) 01:13:18
 

980 :デフォルトの名無しさん:2011/02/15(火) 01:15:19
C言語でフィルターは可能ですか

981 :デフォルトの名無しさん:2011/02/15(火) 01:17:40
可能

982 :デフォルトの名無しさん:2011/02/15(火) 01:28:24
コーヒーフィルターか

983 :デフォルトの名無しさん:2011/02/15(火) 01:41:28
 

984 :デフォルトの名無しさん:2011/02/15(火) 01:43:08
>>973
たぶん正当なコード
sizeofはちょっと特殊な挙動をする演算子で、
(いくつか変なケースを除いて)オペランドは実行されない
pが指す先にアクセスしなくても、コンパイル時に型は決定できるからね

985 :デフォルトの名無しさん:2011/02/15(火) 01:58:31
else ifの使い道がわかりません
else ifって必要なくないですか?

986 :デフォルトの名無しさん:2011/02/15(火) 01:59:44
>>985
インデントが深くならないだろ

987 :デフォルトの名無しさん:2011/02/15(火) 02:13:41
if (...)
        /* ... */
else
        if (...)
                /* ... */
        else
                if (...)

深くなってる気がします!

988 :デフォルトの名無しさん:2011/02/15(火) 02:16:06
そんな風にはならねーよw

989 :デフォルトの名無しさん:2011/02/15(火) 02:16:48
if (...)
        /* ... */
else if (...)         /* ... */
else if (...)         /* ... */


990 :デフォルトの名無しさん:2011/02/15(火) 02:24:12
インデントが深く?
ネストじゃ?

991 :デフォルトの名無しさん:2011/02/15(火) 02:25:42
if (...)
        /* ぺろ */
else if (...)         /* ぺろぺろ */
else if (...)         /* ぺろぺろぺろ */
else if (...)         /* ぺろぺろぺろぺろ */

992 :デフォルトの名無しさん:2011/02/15(火) 02:26:06
 

993 :デフォルトの名無しさん:2011/02/15(火) 02:26:58
 

994 :デフォルトの名無しさん:2011/02/15(火) 02:27:14
 

995 :デフォルトの名無しさん:2011/02/15(火) 02:27:20
でもさぁ、else ifなくてもそこまで困らないでしょ?

996 :デフォルトの名無しさん:2011/02/15(火) 02:30:04
いや困る

997 :デフォルトの名無しさん:2011/02/15(火) 02:30:32


998 :デフォルトの名無しさん:2011/02/15(火) 02:39:06


999 :デフォルトの名無しさん:2011/02/15(火) 02:41:52
1000

1000 :デフォルトの名無しさん:2011/02/15(火) 02:41:59
 

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

224 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)