トップページ⇒tech
1001コメント288KB

C言語質問所 <43>

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
C言語質問所

問題をちゃんと切り分けて、Cの話かそうでないか洗ってから質問してください。
というより、聞く前に一応 Web で検索してください。
コンパイラを探してるなら >>2 を見てください。

GUIとか、C標準でできない事の質問は使ってる開発環境のスレに行ってください。
ソース丸投げ、宿題、書籍 は専門の別スレがあるからそこへ行ってください。

上記を守らない書き込みをした場合、その結果は激しく未定義とします。


C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
comp.lang.c FAQ(英語の原文)
http://www.eskimo.com/~scs/C-faq/top.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
推薦図書/必読書のためのスレッド PART6
http://pc3.2ch.net/test/read.cgi/tech/1033207156/


前スレ <42>
http://pc3.2ch.net/test/read.cgi/tech/1037101156/
0002デフォルトの名無しさんNGNG
【コンパイラ】
gcc
http://gcc.gnu.org/

【Win32用の開発環境のみ。】
gcc-cygwin
http://www.redhat.com/software/tools/cygwin/
gcc-mingw
http://www.mingw.org
Digital Mars C++
http://www.digitalmars.com/
Open Watcom
http://www.openwatcom.com/
Borland C++ Compiler 5.5.1
http://www.borland.co.jp/cppbuilder/freecompiler/

【ライセンスや機能などに問題あり】
Microsot C/C++ 13.0.9466(VC.NET)
http://www.microsoft.com/japan/msdn/netframework/downloads/
LCC-Win32
http://www.cs.virginia.edu/~lcc-win32/
CINT
http://root.cern.ch/root/Cint.html
めじろ++98
http://www.vector.co.jp/soft/win95/prog/se075910.html
0003デフォルトの名無しさんNGNG
41 http://pc3.2ch.net/test/read.cgi/tech/1036876790/

40 http://pc3.2ch.net/test/read.cgi/tech/1036673739/ (待機中)
39 http://pc3.2ch.net/test/read.cgi/tech/1036409391/ (待機中)
38 http://pc3.2ch.net/test/read.cgi/tech/1035729526/ (待機中)
37 http://pc3.2ch.net/test/read.cgi/tech/1035623265/ (待機中)
36 http://pc3.2ch.net/test/read.cgi/tech/1035211039/ (待機中)
35 http://pc3.2ch.net/test/read.cgi/tech/1034337064/ (待機中)
34 http://pc3.2ch.net/test/read.cgi/tech/1033240509/ (待機中)
33 http://pc3.2ch.net/test/read.cgi/tech/1032606064/ (待機中)
32 http://pc3.2ch.net/test/read.cgi/tech/1031905402/ (待機中)
31 http://pc3.2ch.net/test/read.cgi/tech/1031340950/ (待機中)
30 http://pc3.2ch.net/test/read.cgi/tech/1030786546/ (待機中)
29 http://pc3.2ch.net/test/read.cgi/tech/1029605182/ (待機中)
28 http://pc3.2ch.net/test/read.cgi/tech/1028495798/ (待機中)
27 http://pc3.2ch.net/test/read.cgi/tech/1027160374/ (待機中)
26 http://pc.2ch.net/tech/kako/1026/10260/1026048820.html
25 http://pc.2ch.net/tech/kako/1024/10249/1024918442.html
24 http://pc.2ch.net/tech/kako/1024/10240/1024033400.html
23 http://pc.2ch.net/tech/kako/1022/10224/1022402165.html
22 http://pc.2ch.net/tech/kako/1022/10224/1022402165.html
21 http://pc.2ch.net/tech/kako/1022/10220/1022045622.html
0004デフォルトの名無しさんNGNG
20 http://pc.2ch.net/tech/kako/1021/10214/1021459016.html
19 http://pc.2ch.net/tech/kako/1020/10207/1020756993.html
18 http://pc.2ch.net/tech/kako/1020/10202/1020260813.html
17 http://pc.2ch.net/tech/kako/1019/10193/1019372139.html
16 http://pc.2ch.net/tech/kako/1018/10184/1018453690.html
15 http://pc.2ch.net/tech/kako/1016/10165/1016519243.html
14 http://pc.2ch.net/tech/kako/1015/10152/1015286974.html
13 http://pc.2ch.net/tech/kako/1013/10139/1013990673.html
12 http://pc.2ch.net/tech/kako/1012/10123/1012348974.html
11 http://pc.2ch.net/tech/kako/1009/10094/1009499565.html
10 http://pc.2ch.net/tech/kako/1008/10083/1008300863.html
9 http://pc.2ch.net/tech/kako/1007/10072/1007272267.html
8 http://pc.2ch.net/tech/kako/1005/10058/1005811510.html
7 http://pc.2ch.net/tech/kako/1005/10058/1005811510.html
6 http://piza2.2ch.net/tech/kako/999/999617524.html
5 http://piza2.2ch.net/tech/kako/994/994908590.html
4 http://piza.2ch.net/tech/kako/992/992357382.html
3 http://piza.2ch.net/tech/kako/989/989929288.html
2 http://piza.2ch.net/tech/kako/979/979529893.html
1 http://piza.2ch.net/tech/kako/967/967985026.html
0005デフォルトの名無しさんNGNG
        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )

http://big.freett.com/scheme_a/num1000.swf
0006デフォルトの名無しさんNGNG
まもなくここは 乂1000取り合戦場乂 となります。
 
    \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!      ,,、,、,,,
    /三√ ゚Д゚) /   \______________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,,U (:::::::::::)  ,,、,、,,,         \ ぶーぶーぶー /
      //三/|三|\              タリー
      ∪  ∪     (\_/)タリー    タリー   
                (  ´Д)    タリー  タリー
                /   つ  (\_/)   (\_/)ノ⌒ヽ、
               (_(__つ⊂(´Д`⊂⌒`つ(´Д` )_人__) ))

http://big.freett.com/scheme_a/num1000.swf
0007デフォルトの名無しさんNGNG
ここも荒れるな
0008デフォルトの名無しさんNGNG
1000!
0009デフォルトの名無しさんNGNG
>>1
削除以来よろ
0010デフォルトの名無しさんNGNG
>>1 は、死ね・くたばれ・消えろ・失せろ・潰れろ・馬鹿・あほ・間抜け・ドジ。
ポンコツ・トンチキ・ガラクタ・クズ・ゴミ・カス・最低以下の下劣・下等種族。
劣等種族・下衆野郎・腐れ外道・邪道・外道・非道・ウジ虫・害虫・ガン細胞。
ウィルス・ばい菌・疫病神・病原体・汚染源・公害・ダイオキシン・有毒物質。
廃棄物・発ガン物質・猛毒・毒物・アメーバ・ダニ・ゴキブリ・シラミ・ノミ。
毛虫・蠅・蚊・ボウフラ・芋虫・掃き溜め・汚物・糞・ゲロ・糞虫野郎・ほら吹き。
基地外・デタラメ・ハッタリ・穀潰し・ろくでなし・ごろつき・ヤクザ者。
社会の敵・犯罪者・反乱者・前科者・インチキ・エロ・痴漢・ゴミ・シデムシ。
ゴミ虫・毒虫・便所コオロギ・詐欺師・ペテン師・道化師・危険分子・痴呆・白痴。
魔物・妖怪・悪霊・怨霊・死神・貧乏神・奇天烈・奇人・変人・毒ガス・サリン。
ソマン・マスタードガス・イペリット・クソブタ・ブタ野郎・畜生・鬼畜・悪鬼。
邪気・邪鬼・ストーカー・クレイジー・ファッキン・サノバビッチ・シット・ガッデム。
小便・便所の落書き・不要物・障害物・邪魔者・除け者・不良品・カビ・腐ったミカン。
土左衛門・腐乱・腐臭・落伍者・犯人・ならず者・チンカス・膿・垢・フケ・化膿菌。
放射能・放射線・鬼っ子・異端者・妄想・邪宗・異教徒・恥垢・陰毛・白ブタ。
0011デフォルトの名無しさんNGNG
ケダモノ・ボッコ・ろくでなし・VXガス・ヒ素・青酸・監獄・獄門・さらし首。
打ち首・市中引きずり回し・戦犯・絞首刑・斬首・乞食・浮浪者・ルンペン・物乞い。
放射性廃棄物・余命1年・アク・割れたコップ・精神年齢7歳・3審は必要なし。
不良品、規格外、欠陥品、不要物、埃、掃き溜め、吹き溜まり、塵埃、インチキ、居直り。
ふてぶてしい、盗人、盗賊、残忍、残酷、冷酷、非情、薄情者、ガキ、クソガキ。
ファッキン、ガッデム、サノバビッチ、シット、ブルシット、ボロ、ボッコ、妄信。
狂信者、有害物質、毒薬、猛毒、発ガン物質、誇大妄想狂。
他人の悪口は山ほどほざくが反省は一切しないガキ根性野郎、腐れ根性。
腐って歪んだプライドの持ち主、狭量、ボケ、ボケナス、アホンダラ、たわけ。
怠け者、無能、無脳、脳軟化症、思考停止、アメーバ、単細胞、蠅、蚊、カビ。
腐敗、膿、下劣、下等生物、劣等種族、クレイジー、マッド、ストーカー。
人格障害、守銭奴、見栄っ張り、ええ格好しい、粗製濫造品、偽物、似非
イカレ、乞食、浮浪者、ルンペン、狼藉者、放蕩息子、道楽息子、極道息子。
迷惑、困りもの、厄介者、村八分、異端者、アウトサイダー
大虐殺者。ナチスドイツ、731部隊、ポルポト派らと同類。

そして、こんな悪口を言うために労力を使う価値もないクズ
0012デフォルトの名無しさんNGNG
 ある日突然他人のPIDが見れるようになった。
 
                   PID 1192
     ∧_∧           ∧_∧
   Σ( ´∀`)          (´∀` )
     (    )           ( >>1 )
     |  |  |            | |  |
    (____)__)           (__(___)
 
 
    ドキドキ・・・         PID 1192
     ∧_∧           ∧_∧
    (; ´∀`)KILL 1192    (´∀` )
     (    つ          ( >>1 )
     |  |  |            | |  |
    (____)__)           (__(___)
 
 
     ヤター!
     ∧_∧
   Σ( ´∀`)           フッ・・・
    ⊂    つ           ...::::...
     |  |  |            :::::::::::::::
    (____)__)           (__(___::
0013デフォルトの名無しさんNGNG
  ___   ガスッ
 |___ミ      ギビシッ
   .||  ヾ ミ 、      グシャッ
   ∩_∧/ヾヽ
   | ,| ゚∀゚). .|  |;,      ゲシッ
  / ⌒二⊃=|  |∵.
 .O   ノ %`ー‐'⊂⌒ヽ  ゴショッ
   ) ) ) )~ ̄ ̄()__   )
  ヽ,lヽ) (;;;;;;;;;;;;;;;;;)(_(
0014デフォルトの名無しさんNGNG
ここは気持ち悪いインターネットですね。
0015デフォルトの名無しさんNGNG
糞スレ削除依頼終了
0016ど阿呆!&rlo;!ろえ考はし少 &lro;NGNG
              ヽ \
             / \ \
       ∧_∧/
      (;´Д`)     i i i
      /    ヽ _   i i i--、
     ./| |   | |   ̄ ̄ ̄ |:::::|.
    / \ヽ/| |       ノ__ノ..
   /   \\| |
   / /⌒\ し(メ    .i i i . .
 / /    > ) \  ノノノ
/ /     / /    .\_  ザックザック
し'     (_つ   /:::::/::...   /ヽ
          ; "ノ・ ./∴: / )i iヽ-、_へ    ,ヘ
          '',, : :―― / / i i i iヽ . ̄ ゙― ノ /
    n_    _/;    i  .ノ / /ノ-' ̄ ゙ ― 、__ノ
  _ノ 二二二、_( _Д_ ;)-ヽ_ノ-'>>1
  ゙ー ''~      ∨ ̄∨
0017デフォルトの名無しさんNGNG
                   _ _     .'  , . ∧_∧
          ∧  _ - ― = ̄  ̄`:, .∴ '     (    ) ←>>1
         , -'' ̄    __――=', ・,‘ r⌒>  _/ /
        /   -―  ̄ ̄   ̄"'" .   ’ | y'⌒  ⌒i
       /   ノ                 |  /  ノ |
      /  , イ )                 , ー'  /´ヾ_ノ
      /   _, \               / ,  ノ
      |  / \  `、            / / /
      j  /  ヽ  |           / / ,'
    / ノ   {  |          /  /|  |
   / /     | (_         !、_/ /   〉
  `、_〉      ー‐‐`            |_/

               _ー ̄_ ̄)’,  ・ ∴.'  , .. ∧_∧
          ∧ --_- ― = ̄  ̄`:, .∴ '     (    ) ←>>1
         , -'' ̄  = __――=', ・,‘ r⌒>  _/ /
        /  _-―  ̄=_  )":" .  ’ | y'⌒  ⌒i
       /   ノ  ̄ ̄=_  ` )),∴.   |  /  ノ |
      /  , イ )        ̄=       , ー'  /´ヾ_ノ
      /   _, \               / ,  ノ
      |  / \  `、            / / /
      j  /  ヽ  |           / / ,'
    / ノ   {  |          /  /|  |
   / /     | (_         !、_/ /   〉
  `、_〉      ー‐‐`            |_/
0018デフォルトの名無しさんNGNG
      ∧_∧      ∧_∧
     _( ´∀`)    (´∀` )
  三(⌒),    ノ⊃    ( >>1 .)   おまいは
     ̄/ /)  )      | |  |
    . 〈_)\_)      (__(___)
         ∧_∧  .∧_∧
         (  ´∀) (´∀` )
       ≡≡三 三ニ⌒) >>1 .)    何考えて
        /  /)  )  ̄.| |  |
        〈__)__)  (__(___)
           ∧_∧  ,__ ∧_∧
          (    ´)ノ ):;:;)∀`)
          /    ̄,ノ'' >>1 . )   このスレ立てたんだよ
         C   /~ / /   /
         /   / 〉 (__(__./
         \__)\)
                      ヽ l //
            ∧_∧(⌒) ―― ☆ ―――
            (    ) /|l  // | ヽ   ヴォケがーー!
           (/     ノl|ll / / |  ヽ
            (O  ノ 彡''   /  .|
            /  ./ 〉
            \__)_)
0019デフォルトの名無しさんNGNG
              /ヽ       /ヽ
            / ヽ      / ヽ
  ______ /U ヽ___/  ヽ    なにこのスレ…
  | ____ /   U    :::::::::::U:\
  | | \     // ___   \  ::::::::::::::|
  | |Д`)     |  |   |     U :::::::::::::|
  | |⊂      |U |   |      ::::::U::::|
  | |       | ├―-┤ U.....:::::::::::::::::::/
  | |____ ヽ     .....:::::::::::::::::::::::<
  └___/ ̄ ̄      :::::::::::::::::::::::::|
  |\    |           :::::::::::::::::::::::|
  \ \  \___      ::::::
0020デフォルトの名無しさんNGNG
  ヽ、.三 ミニ、_ ___ _,. ‐'´//-─=====-、ヾ       /ヽ
        ,.‐'´ `''‐- 、._ヽ   /.i ∠,. -─;==:- 、ゝ‐;----// ヾ.、
       [ |、!  /' ̄r'bゝ}二. {`´ '´__ (_Y_),. |.r-'‐┬‐l l⌒ | }
        ゙l |`} ..:ヽ--゙‐´リ ̄ヽd、 ''''   ̄ ̄  |l   !ニ! !⌒ //
.         i.! l .:::::     ソ;;:..  ヽ、._     _,ノ'     ゞ)ノ./
         ` ー==--‐'´(__,.   ..、  ̄ ̄ ̄      i/‐'/
          i       .:::ト、  ̄ ´            l、_/::|
          !                           |:    |
             ヽ     ー‐==:ニニニ⊃          !::   ト、
おれたちはとんでもない思い違いをしていたようだ。これを見てみろ。
まず「クソスレ」を英字で表記する
『KUSOSURE』
これを逆にすると、
『ERUSOSUK』
そしてこれを更に日本語に直すと
『エルソサク』
スレを立てたのが>>1と言う事を考えれば末尾に『真性DQN』を加えるのが当然だ。
すると導き出される解は
『エルソサク真性DQN』
そして最後の仕上げに意味不明な文字『エルソサク』
これはノイズと考えられるので削除し残りの文字を取り出す。
するとできあがる言葉は・・・・・・『真性DQN』。

つまり!『真性DQN』とは『まさに>>1』を表す言葉だったのだ!!
0021デフォルトの名無しさんNGNG
         /ヽ           /\
  _∧_∧/  \__/\_/   \__∧/|__/\
  \     クソスレを牛耳るわれらこそ・・・・・・・・・・     \
  <     王っ・・・・!                      /
  /     築くんだっ・・・・・・・・!王国をっ・・・・・・!     \
  |/\   / ̄ ̄V ̄\/ ̄ ̄\   / ̄ ̄ ̄ ̄V ̄V\| ̄
      \/              \/
  ::::::::::::::::::::                        ::::::::::/ ):::::::::
:::::(\:::::::               _人           / / ):::::::::::
:::::/\\             ノ⌒ 丿        /  / /ヽ::::::::::::
:::: ヽ \\         _/   ::(        /  / / /::::::::::::::::
:::: ( \ \\      /     :::::::\      l  三 / / ):::::::::::::::
:::::::ヽ ヽ . ミヽヽ     (     :::::::;;;;;;;)    /   二 / /::::::::::::::::::
::::::: ( \ ヽミ ヽヽ    \_―― ̄ ̄::::::::::  /    二 ___/ヽ ...::::::::::::::
::::... /ヽ ヽ ニ ヽヽ  ノ ̄     :::::::::::::: //   ニ _______/   ...:::::::::
:::.   ヽ____  ニ ヽ ( ´Д`  ::::::::::::::;;;;//    ニ ____ノ     .....::::::::::
      ヽ___,  ニ/ ̄――――― ̄ ̄::::::::\ ニ ___ノ +   + ....:::::::::
        ヽニ -‐(        :::::::::::::::::::::::::::::::::≡ __ノ+ ┼ *:::::::::
         ヽ---\__::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;ノ_ +  ┼  .::::::::::
 :::::...     + ┼ +   +    ー-、___~'''''ー-、   :....::::::::::::
  :::::::....     + ┼    *+     +~~'''ヽ ..:...::::::::::::::::::::
   :::::::::::::::::.....    +   * .   ┼  :....:::::::::::::::::
    ::::::::::::::::::::....: + *     +   .....:::::::::::::::::
0022デフォルトの名無しさんNGNG
>>1
          ,. -───-: 、
          /::::::::::::::::::::::::::::::::\
          / '':::::::::::::::::::::::::::::::''''' ヽ
         !::::::::::ィ::ハ:::;::::::::::::::::::::::::::!
       i::|:::i::/l/  i;::ト、:、:::i:::::::::::::::i
       |::i/レ'-i''  'ヽi-ヾ,ヽ!:::::::::::::l
       |::ハ -‐-   -─- i::::::::::::::l
       |::::::l|  |     |  | |::::::::::::::!
       |::::::ヽ | r---、! l,.!::::::::::::::l
       l::::::::::::`;'-'=,‐,='r''i~!:::::::::::::::|
         !:::::::l、::r'"´'. ' l ' i::::::::iヽ:::l
       i:l、:::|./、_____,l::::;l:/‐'ヽ!
        '!ヽ;i'>l____,.//-‐'''"ヽ
            !/ |.VVVVVVVV.lV\!. i
         |  |        |    l
0023デフォルトの名無しさんNGNG
     \ 馬 /   \ 鹿 /
               ∩     ∩
               | つ   「,"|
        ヾ∧     !,'っ_ ⊂_,!
      / ・ |ミ    /  ・ ヽつ
     (_'...  |ミ   ▼,__  |
      (゚Д゚; )..|ミ     (゚Д゚ ,)・|
      (|  .、)|      (|   、)|
       |    |       |   ・・|
       ヽ.._人     ヽ._・ν
       U"U        U"U
0024デフォルトの名無しさんNGNG
ここも所詮は2chか。
0025デフォルトの名無しさんNGNG
 \もうね、アボガド/   \ 馬 /     \ 鹿 かと/
                            ∩   ∩
                            | つ  ⊂|
                   ∧ノ~        ! ,'っ _c,!
      ヽ           ミ| ・  \     ⊂/  ・  \
     γ⌒^ヽ        ミ|  ... '_)     | __,,▼
     /:::::::::::::ヽ.       ミ|. (,,゚Д゚)        |・ (,,゚Д゚)
     /.::::::::(,,゚Д゚)         | (ノ  |)      | (ノ  |)
    i:::::(ノDole|)         |   馬 |         |・・ .鹿 |
     ゙、::::::::::::ノ         人.._,,,ノ      ι.・,,_,ノ
      U"U           U"U         U"U
0026デフォルトの名無しさんNGNG
-----Original Message-----
From: [email protected]
Sent: Thu 12/7/2000 5:59 AM
Subject: Virus alert
Importance: Low


DEAR RECEIVER,                    DEAR RECEIVER,
                              あなたはたった今、新しいルーマニア製
You have just received a new Romanian virus.  ウィルスを受け取りました。ルーマニア
Since we are not so technologically advanced  ではそれほどテクノロジーが発達してい
in Romania, this is a MANUAL virus. Please    ないので、これは「手作業」ウィルスで
delete all the files on your hard disk        す。どうかハードディスクの中のファイ
yourself and send this mail to everyone you    ルを全部消去して、このメールを知り合
know.                            い全員に送ってください。
0027デフォルトの名無しさんNGNG
        ,
      /ヽ、 ,, -ー――- 、
      (.::::::ー'' ......::::::::::::::::::::::.` 、
     < ..........:::::.::::::::::::::::::::::::::::::....i         わーい
      | ゝ..::::::/ ヽ.::::::::, 、:::::::::::::::::i
      .| |,ヽ_(   ) ノ―ヽ ::::::::::::::::i        わーいわーいわーい
      || 、      、   \:::::::::::i わーいわーいわーいわーいわーいわーいわーい
      |  ⌒ ノ    ⌒   |::::::::::ヽ
      |    ヽ         |/ヽ:::::::ゝ、
      .| iiiii  -―-   iiiii  ノ::::ノ-ー ┐_   わーい
  _  _ ヽ     ヽ- ノ      ヽノ'    | 何やってんの??ねぇねぇねぇねぇねぇ
    /   ヽ、      , ' ノiiiiiiil     | ねぇねぇねぇねぇねぇねぇねぇねぇ
    |    liii` ー  ''     'iiiiiiiiil     | __ ねぇねぇねぇねぇねぇ
  __|    liiiiiiiii\、  _,,ノiiiiiiiiiiiil     し ねぇねぇねぇねぇねぇねぇ
0028デフォルトの名無しさんNGNG
          /⌒ヽ    / ̄ヽ
         _|__ヽ,-/    |
      ,,-'"....:::::::::::::::::::::::ヽ、    |
    /..........:::::::::::::::::::::::::::::::::ヽ_ノ
   /::::::::::::::::::::::::::::::::::::::::::::::::::::ヽヽ.    もう!ハイジったら
  /:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ ヽ 邪魔邪魔邪魔邪魔邪魔
  |::::::::::|ヽ(\( \__ヽ_ヽ、::::::::::::::::::i ヽ. 邪魔邪魔邪魔邪魔邪魔邪魔邪魔しちゃ
  ヽ::::::::i -‐-    -‐‐- ヽ::::::::::::::::i /   悪い悪い悪い悪いわよ!
   \::i`'⌒    `⌒  |::::::::::::::::i
    i::::::i   ノ       |::::::::::::::::::i
    |:::::::i  ヽ__    /::::::::::::::::::::i   やめやめやめやめやめやめやめなさい!
    |:::: ::ヽ  丶 ノ   /::::::::::::::::::::::::i
    |:::: :::::\  `   , /::::::::::::::::::::::::::::i
    |::: :::::::::``. - ´ |::::::::::::::::::::::::::::::i
    i::::: :::::::::::::::ト、_,,/´ ヽ::::::::/‐、:::::/
   /lヽ::::: :::::::::::|/ヽ   / ̄   /ヽ
  /  | ヽヽ:::::::::|   \/    /  ヽ
  /  ヽ  ` T `>lコ< ̄|    ,/    ヽ
 /    ヽ   |/|| || \|  ,/      ヽ
       \___| |_| |__/
          | | | |
0029デフォルトの名無しさんNGNG
クソスレの治療はできないんですか?
0030デフォルトの名無しさんNGNG
       /                    .\
     /                       .\
 \ /                          \ /
   \      ___________     . /
    \   ./                \   /
     | \/                   \/...|
     |  |                       |  |
     |  |                       |  |
  .._ |_|                       |_|_..
     |  |    さあ‥ >>1 よ‥‥       .|  |
     |  |            逝こうか‥‥   |  |
     |  |                       |  |
     |  |                       |  |
     |  |/                   ..\|  |
     |  |                       |  |
   .._|/|      _ _ _ _ _ _ _ _     ...|\|_
  / ..|  |   _−_−_−_−_− _   |  |  \
     |  |/_/━ ━ ━ ━ ━ ━\_\|  |
   .._| /_/━ ━ ━ ━ ━ ━ ━ \_\.|_
     /_/━  ━  ━  ━  ━  ━  ━ \_\
   /  /━  ━  ━  ━  ━  ━  ━\  \
0031デフォルトの名無しさんNGNG
                              γ      γ
       ∧_∧  どうして どうして                        γ
       (::::::::::: )   >>1 のような人が いるんだろう ......................................
      .(○::::::: )                      .::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::........
     ~"''"""゛"゛""''・、                   ...:::::;;;''        ';;;:::::.......
 "”゛""''""“”゛゛""''' "j'                 ...::::;;;''            '';;;::::::.........
 :::::ヘ :::::....ヽ :::;;;ノ  ::(                ....::::::;;              '';;;::::::::::.......
 ::  ゝ  :::::......ノ:;;../ 
0032デフォルトの名無しさんNGNG
     >>1
     ↓
|    △     |
|  〔(゚ ∀ ゚)〕   |
(⌒⌒⌒⌒⌒⌒⌒)
|⌒⌒⌒ <⌒ヽ o 。  うああぁぁ...
|      <_  ヽ。
|      o とノ ノつ
|       。  .| 〜つ
0033デフォルトの名無しさんNGNG
      ∧_∧      .∧_∧
     _( ´∀`)    (´∀` )
  三(⌒),    ノ⊃    ( >>1  )   糞スレは立てるなって
     ̄/ /)  )      | |  |
    . 〈_)\_)      (__(___)


         ∧_∧  ,__ ∧_∧
        (    ´)ノ ):;:;)∀'''')
        /    ̄,ノ'' バ  )   言っただろうが
       C   /~ / /   /
       /   / 〉 (__(__./
       \__)\)

                 ヽ l //
       ∧_∧(⌒) ―― * ―――
       (    ) /|l  // | ヽ   ヴォケー!!
      (/     ノl|ll / / |  ヽ
      (O  ノ 彡''   /  .|
      /  ./ 〉
      \__)_)

               \ | /
               ― ☆ ― ←>>1
       ∧_∧    / | \
      (´∀` )
      (     )
       | |  |
      (__(___)  ・・・とおもったけどいいスレじゃん
0034デフォルトの名無しさんNGNG
もはやガン細胞では・・・
0035デフォルトの名無しさんNGNG
    /|| ミ
   / ::::|| ミ
 /:::::::::::||
 |:::::::::::::::|| ̄ ̄ ̄ ̄||
 |:::::::::::::::||│ /  ||
 |:::::::::::::::|| ̄\   ガチャッ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 |:::::::::::::::||゚ ∀゚)─ ||  < クソスレ停止スイッチオン!をやっていいですか?
 |:::::::::::::::||_/    ||    \______________________
 |:::::::::::::::||│ \   ||
 |:::::::::::::::||∧ ∧∩ ||
 |:::::::::::::::|| ゚∀゚)/  .||
 |:::::::::::::::||∧ ∧∩ ||
 |:::::::::::::::|| ゚∀゚)/ .||
 |:::::::::::::::||    〈  .||
 |:::::::::::::::||,,/\」  .||
 \:::::::::::|| ̄ ̄ ̄ ̄
   \ ::::|| 彡
    \|| 彡        \ │ /
                 / ̄\  / ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< 停止スイッチ
                 \_/  \_______
                / │ \
                    ∩ ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< オン!
. クソスレ〜〜〜! >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」
               ̄     / /
                    "
0036デフォルトの名無しさんNGNG
          ,,-'  _,,-''"      "''- ,,_   ̄"''-,,__  ''--,,__
           ,,-''"  ,, --''"ニ_―- _  ''-,,_    ゞ    "-
          て   / ,,-",-''i|   ̄|i''-、  ヾ   {
         ("  ./   i {;;;;;;;i|    .|i;;;;;;) ,ノ    ii
     ,,       (    l, `'-i|    |i;;-'     ,,-'"   _,,-"
     "'-,,     `-,,,,-'--''::: ̄:::::::''ニ;;-==,_____ '"  _,,--''"
         ̄"''-- _-'':::::" ̄::::::::::::::::;;;;----;;;;;;;;::::`::"''::---,,_  __,,-''"
        ._,,-'ニ-''ニ--''" ̄.i| ̄   |i-----,, ̄`"''-;;::''-`-,,
      ,,-''::::二-''"     .--i|     .|i          "- ;;:::`、
    ._,-"::::/    ̄"''---  i|     |i            ヽ::::i
    .(:::::{:(i(____         i|     .|i          _,,-':/:::}
     `''-,_ヽ:::::''- ,,__,,,, _______i|  ゚ ∀ ゚ .|i--__,,----..--'''":::::ノ,,-'
       "--;;;;;;;;;;;;;;;;;""''--;;i|      .|i二;;;;;::---;;;;;;;::--''"~
               ̄ ̄"..i|       .|i
         .;.;"..;.;" .i|        |i/ ".;.;".;":
      .;".;": . \( ⌒.i|        |i )⌒)/".;.;".;":
  .;".;": ..;. ;( ⌒(  .i|          .|i⌒) )⌒".;.;".;":.
 .;".;": ..; 从へへΣ(     ∩   ∧ ∧∩/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧∩\ ( ゚∀゚)< クソスレクソスレクソスレ!
クソスレクソスレ!  >( ゚∀゚ )/.;|    /;.\___________
________/.:|   〈.;".|   | .;.;"..;.;"..;.;".
.;.;"..;.;"..;.;.;."/ /\_」;..;./ /\」 .;.;"..;.;"..;.;".
   .;"..;.;"..;.;.. ̄..;.;"../ /..;.;"..;.;"..;.;
         ..;.;"..;.;"..;."..;.;"..;.;".;
0037デフォルトの名無しさんNGNG
           ☆ シャットダウン中・・・ ☆
┌──────────────────────―─┐
│                                    |
│                                    |
│                /■\                    |
│               (´∀`∩)                   |
│               (つ  丿                |
│                ( ヽノ                    |
│                し(_)                |
│                                    |
│             Now Onigiring. ...               |
│                                    |
│                                    |
│         スレッドを終了しています。.          |
│         しばらくおにぎりでお待ちください。        |
│                                    |
└───────────────────────―┘
    シャットダウンの途中でエラーが発生した場合は、
      「無視(I)」 を選択して続行してください。
00381001 &rlo;daerhT 0001 revO NGNG
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
0039デフォルトの名無しさんNGNG
ここが新すれのようですね。
また頑張りましょう!!
0040デフォルトの名無しさんNGNG
39=1 は逝ってよし
0041デフォルトの名無しさんNGNG
     ∧∧  ミ _ ドスッ
     (   ,,)┌─┴┴─┐
    /   つ  終 了.  |
  〜′ /´ └─┬┬─┘
   ∪ ∪      ││ _ε3
0042デフォルトの名無しさんNGNG
ワラタ
0043デフォルトの名無しさんNGNG































0044デフォルトの名無しさんNGNG































クソすれ
0045デフォルトの名無しさんNGNG






























                                      クソすれ
0046デフォルトの名無しさんNGNG
荒らしを晒しage
0047デフォルトの名無しさんNGNG
荒らしって 1 の事だろう
004847NGNG
ああ、sgeちゃったYO・・・スマソ
0049デフォルトの名無しさんNGNG
          ☆ チン       
                       
  ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ヽ ___\(\・∀・)< クソスレハケーソ
        \_/⊂ ⊂_)_\____________
      / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
    |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :|
    | 全日本クソスレ同盟|

なんで42がまだ790しかレスついてないのに新スレ立てるのかな?
>>1の考えがよくわからない。
0050デフォルトの名無しさんNGNG
>>49
790 レスじゃないよ。
タイムスタンプからして、624 レスのあたり。

ちなみに、>>1 の降臨は 734-749 あたり。
0051デフォルトの名無しさんNGNG
このスレの>>1は超アフォ
005249NGNG
>>50
ネタにマジレス(プ
0053デフォルトの名無しさんNGNG
>>52
必死だな(プ
005449NGNG
>>53
ageているし。
よほど必死なんだね(プ
0055デフォルトの名無しさんNGNG
おまえらほんとに厨だな。
荒らしてねーで前スレ終わるまでじっとしてろよ。
0056デフォルトの名無しさんNGNG
つーか、このスレを放置して、新スレ立てればいいだけの話では?
書き込めば寿命延びるし。
0057デフォルトの名無しさんNGNG
>>51-54
通報しますた
0058デフォルトの名無しさんNGNG
>>57
このスレがすでに通報されてるがな。
0059デフォルトの名無しさんNGNG
スレを立てる練習をするスレはここですか?
0060デフォルトの名無しさんNGNG
糞スレは






























                                                                      放置
0061デフォルトの名無しさんNGNG
次スレage
0062デフォルトの名無しさんNGNG
ここ、今夜にはきそうだね
0063デフォルトの名無しさんNGNG
死にそうな予感
0064デフォルトの名無しさんNGNG
なんか上手く書き込めなくない?
0065デフォルトの名無しさんNGNG
次スレこれでいいよ。
0066デフォルトの名無しさんNGNG
移動してきますた
>>62
アタリ!
0067デフォルトの名無しさんNGNG
たのむから誰かchar *c[43] = {"C言語相談室"};で立ててくれ・・・
0068デフォルトの名無しさんNGNG
激しく死にそうな予感
0069デフォルトの名無しさんNGNG
>>67
嫌。糞はお前だ氏ね。
0070デフォルトの名無しさんNGNG
>>64
20秒くらいかかるかも・・・
てか何回もボタン押す
おれだけじゃなかったのか。
0071デフォルトの名無しさんNGNG
次スレは診断失で
0072デフォルトの名無しさんNGNG
俺も立てられない。

char *c[43] = {"C言語相談室"};

で頼む。神よ。
0073デフォルトの名無しさんNGNG
DQNがCスレを自然消滅させようと糞スレを立てています。
0074デフォルトの名無しさんNGNG
>>72
どうせなら実験的にさ
論争スレたててみようぜ。
意外にいいかんじなるかも
0075デフォルトの名無しさんNGNG
万乗一致でクソは 69。
0076デフォルトの名無しさんNGNG
>>74
論争スレなら既にあるぞ。
結局質問スレが論争スレになってしまうんだが。
0077デフォルトの名無しさんNGNG
char *c[43] = {...} ←これキモくねえ?
0078デフォルトの名無しさんNGNG
69=1
0079デフォルトの名無しさんNGNG
>>77
あきらかにおまえがキモイ。
0080デフォルトの名無しさんNGNG
プ>>79
0081デフォルトの名無しさんNGNG
>>80
明らかにおまえがプ
0082デフォルトの名無しさんNGNG
なんでタイトルが「C言語なら俺に聞け」じゃなくなってるんだ?
0083デフォルトの名無しさんNGNG
これどこちがう?
int sel_sort(int *data,int *s,int num)
{
int i,min,temp;

min = num-1;

for(i=min;i>=*s;i--)
if(data[i] < data[min])
min = i;

temp = data[min];
data[min] = data[*s];
data[*s] = temp;

*s=*s+1;

if(*s != num)
sel_sort(data,s,num);

return(0);
}
0084デフォルトの名無しさんNGNG
>>1がDQNのせい
0085デフォルトの名無しさんNGNG
ファイルを開く関数を教えてください!!!!!!!!!
0086デフォルトの名無しさんNGNG
           ☆ シャットダウン中・・・ ☆
┌──────────────────────―─┐
│                                    |
│                                    |
│                /■\                    |
│               (´∀`∩)                   |
│               (つ  丿                |
│                ( ヽノ                    |
│                し(_)                |
│                                    |
│             Now Onigiring. ...               |
│                                    |
│                                    |
│         スレッドを終了しています。.          |
│         しばらくおにぎりでお待ちください。        |
│                                    |
└───────────────────────―┘
    シャットダウンの途中でエラーが発生した場合は、
      「無視(I)」 を選択して続行してください。
0087デフォルトの名無しさんNGNG
誰かちゃんとしたスレ立ててくれ。
0088デフォルトの名無しさんNGNG
>>85
calloc
0089デフォルトの名無しさんNGNG
オレが立ててくる
スレタイはどうする?
charでいいのか?
0090デフォルトの名無しさんNGNG


         C ス レ 終 わ っ た な



ワラ
0091デフォルトの名無しさんNGNG
http://pc3.2ch.net/test/read.cgi/tech/1037101156/988-991
0092デフォルトの名無しさんNGNG
>>89
char *c[43] = {"C言語のことは俺に聞け"};
0093デフォルトの名無しさんNGNG
>>89
いいけど、俺に聞けはダメ。C言語相談室で
0094デフォルトの名無しさんNGNG
俺に聞け厨必死だな
0095デフォルトの名無しさんNGNG
相談室だけはやめてくれ。
つーかスレの内容に合わないだろ。
0096デフォルトの名無しさんNGNG
>>87
ちゃんとしたタイトルでたっているじゃないか
http://pc3.2ch.net/test/read.cgi/tech/1037279828/
0097デフォルトの名無しさんNGNG
相談室はダメ
0098デフォルトの名無しさんNGNG
>>96
ネタはもういい
0099デフォルトの名無しさんNGNG
俺 に 聞 け 厨 必 ss
0100デフォルトの名無しさんNGNG
ひとつ質問させてください。
今まで文字列のコピーには、
strncpyで受け側バッファのサイズ-1をコピーして、
その後memsetで受け側バッファの最後に'\0'を入れてたのですが、
最近上司から、それだと遅いらしいから止めろと言われました。

実際この方法は(他よりも)遅いのでしょうか?
遅いとしたら、もっと速い方法ってあるのでしょうか?
処理系にもよるとは思いますが、大体の傾向でかまいませんので教えてください。
お願いします。
0101デフォルトの名無しさんNGNG
ちゃんとした新スレ
http://pc3.2ch.net/test/read.cgi/tech/1037281411/l50
0102デフォルトの名無しさんNGNG
>>100
>>その後memsetで受け側バッファの最後に'\0'を入れてたのですが、
何故だ?

>>最近上司から、それだと遅いらしいから止めろと言われました。
らしいから、ってなんだよ?

部下も部下なら上司も上司だな(w
0103デフォルトの名無しさんNGNG
>>100
strlen + memcpy したら。
0104デフォルトの名無しさんNGNG
>>100
> 受け側バッファの最後に'\0'を入れてた

strncpy() にはもともとそういう機能がある。
マニュアルちゃんと読め。
0105デフォルトの名無しさんNGNG
ちゃんとした新スレ
http://pc3.2ch.net/test/read.cgi/tech/1037281411/l50
0106ボビーNGNG
本家スレです。過去の伝統にのっとっているうちこそが本家です。

http://pc3.2ch.net/test/read.cgi/tech/1037279828/
0107デフォルトの名無しさんNGNG
>>102 >>104

NULL止めしねぇろ?


>>103

strcpyの予感。


>>100

バッファのサイズに比べコピー対象文字列が十分短い場合ムダに'\0'を埋め続ける。
0108デフォルトの名無しさんNGNG
strncpy は最後に\0入れる?
n文字以上だったら入れないように思えるんだけど。
n文字以下だったら残りを\0で埋めるんじゃないの?
0109107NGNG
失礼。

NULL止めなんて言うと怖い人たちに突っ込まれそうだ。
ナル文字止めと訂正。
あと、103の奴だけだとナル文字止めがないからstrcpyの予感も訂正。
0110デフォルトの名無しさんNGNG
そうだね。↓ は期待通りに動かない。

int main()
{
char buf[10], str[] = "1234567890";
puts(strncpy(buf, str, sizeof(buf)));
return 0;
}

でも、いいから新スレ逝けよ。
0111デフォルトの名無しさんNGNG
いいから新そば食えよ。
0112デフォルトの名無しさんNGNG
char *strncpy(char *s, char *t, int n) {
n = (strlen(t) < n) ? strlen(t) : n-1;
memcpy(s, t, n);
s[n] = '\0';
return s;
}
0113デフォルトの名無しさんNGNG
糞スレは






























                                                落ちろ
0114デフォルトの名無しさんNGNG
糞スレは





























                                                              落ちろ
0115デフォルトの名無しさんNGNG
荒らしている奴は氏ね
0116ボビーNGNG
>>100
全体の処理が遅くなるほどに使いまくっているのか。
本当にその部分に処理速度が必要なのかをまず考えろ。

>>103
str系の関数を使ってもstrlen + memcpy使っても性能はかわらん。
0117デフォルトの名無しさんNGNG
弱気な部下と無能な上司をさらに超える二人の馬鹿がいるスレはここですか?
0118デフォルトの名無しさんNGNG
           ☆ シャットダウン中・・・ ☆
┌──────────────────────―─┐
│                                    |
│                                    |
│                /■\                    |
│               (´∀`∩)                   |
│               (つ  丿                |
│                ( ヽノ                    |
│                し(_)                |
│                                    |
│             Now Onigiring. ...               |
│                                    |
│                                    |
│         スレッドを終了しています。.          |
│         しばらくおにぎりでお待ちください。        |
│                                    |
└───────────────────────―┘
    シャットダウンの途中でエラーが発生した場合は、
      「無視(I)」 を選択して続行してください。
0119デフォルトの名無しさんNGNG
>>1の自作自演です。
0120ボビーNGNG
アーッヒャヒャヒャヒャヒャヒャヒャヒャヒャヒャヒャヒャヒャ!!
0121デフォルトの名無しさんNGNG
相互リンク
char *c[43] = {"C言語のことは漏れに聞け!"};
http://pc3.2ch.net/test/read.cgi/tech/1037281411/

C言語質問所 <43>
http://pc3.2ch.net/test/read.cgi/tech/1037134356/
0122デフォルトの名無しさんNGNG
           ☆ シャットダウン中・・・ ☆
┌──────────────────────―─┐
│                                    |
│                                    |
│                /■\                    |
│               (´∀`∩)                   |
│               (つ  丿                |
│                ( ヽノ                    |
│                し(_)                |
│                                    |
│             Now Onigiring. ...               |
│                                    |
│                                    |
│         スレッドを終了しています。.          |
│         しばらくおにぎりでお待ちください。        |
│                                    |
└───────────────────────―┘
    シャットダウンの途中でエラーが発生した場合は、
      「無視(I)」 を選択して続行してください。
0123デフォルトの名無しさんNGNG
なんでmemset?
memsetって全部埋めてしまうやつだよ。
0124デフォルトの名無しさんNGNG
クソすれ





























                                                          ウザイ
0125デフォルトの名無しさんNGNG
           ☆ シャットダウン中・・・ ☆
┌──────────────────────―─┐
│                                    |
│                                    |
│                /■\                    |
│               (´∀`∩)                   |
│               (つ  丿                |
│                ( ヽノ                    |
│                し(_)                |
│                                    |
│             Now Onigiring. ...               |
│                                    |
│                                    |
│         スレッドを終了しています。.          |
│         しばらくおにぎりでお待ちください。        |
│                                    |
└───────────────────────―┘
    シャットダウンの途中でエラーが発生した場合は、
      「無視(I)」 を選択して続行してください。



      「無視(I)」 を選択して続行してください。
0126ボビーNGNG
>>123
最近の傾向として初心者はまず

char str[100];
memset(str , 0 , 100);

で初期化する。だぶん後じゃなくて最初にやっているんだろう。あへっ
0127デフォルトの名無しさんNGNG
>>123

受け側バッファのサイズは分かっているっつってんだから、
テキトーにポインタ進めて1バイトだけ'\0'書いてるんだろう。多分。
memset関数である必要がないのは事実と思うが。
0128デフォルトの名無しさんNGNG
memset(C言語質問所 <43>)
0129デフォルトの名無しさんNGNG






























                                                                               
0130デフォルトの名無しさんNGNG
>>126
char str[100] = "";
で初期化されない?

>>127
memset(s+n, '\0', 1);とか書いてるんだろうか?
だったらs[n]='\0'で十分なのだが・・・。
0131ボビーNGNG
うんこー
0132ボビーNGNG
うんこー
0133デフォルトの名無しさんNGNG
流れないよ〜!!
0134ボビーNGNG
>>130
それだとstr[0]だけ初期化される。
最初に配列全部を'\0'で初期化しておけば、
strncpy(str , "test");
ってやってもとりあえずtestのあとに'\0'が既にはいっているので安心。
多分初心者にPGをさせなければいけなくなったが'\0'を理解できさせなかったので
最初に全部初期化させることで最悪の事態を避けようとしたものが広まったとか広まらないとか・・・
0135デフォルトの名無しさんNGNG
>>134
strncpyの使い方でも調べてから書いたほうが良いんじゃないか(ワラ
0136デフォルトの名無しさんNGNG
一般にバグ防止やセキュリティのためにはstrncpyを使う〜ってのがセオリーだが、
そのためのパターン1は >100 のやってるパターン。
で、バッファサイズに比べコピー対象が少ないと無駄が出るというのが >107 の意見。

ところでstrlenしたりして、バッファサイズを調べて、
超えないなら普通にstrcpy、超えるならstrncpy+末尾止めするとしたとき、
普通に >100 のパターンと比べて速くなるもんだろうか?
上記処理ってstrncpyがムダに'\0'を埋める作業の、どのくらいに相当するのかな?
0137デフォルトの名無しさんNGNG
ボビーはもうええっつうの
そんな恥ずかしいことよくHNつけて書きこめるな
0138デフォルトの名無しさんNGNG
strncpy ってソース側の文字列がヌル文字終端されてない(または、されてる確信がない)
ときに使うもんじゃなかったの?
0139デフォルトの名無しさんNGNG
>>134
配列は初期化の数が少ないと0で埋めるでしょ。
int hoge[100] = { 0 };
こういうのは文字列には適用されないの?
0140デフォルトの名無しさんNGNG
>>134
初期化の動作を確認してから書いてください。
0141デフォルトの名無しさんNGNG
>>138

すでに10文字が入っている文字列のうち、
はじめの3文字だけ上書きして残り7文字はそのまま〜みたいな使い道と思ってた。
0142ボビーNGNG
>>135
わりー

0143デフォルトの名無しさんNGNG
>>138
おいおい。
ヌル文字終端されてない文字列なんて扱ってるのかよ。
0144デフォルトの名無しさんNGNG
>>134

まず自分が初心者であることに気づくべき。
0145デフォルトの名無しさんNGNG
>>141
それがやりたい場合は、長さ 0 の文字列に対して strncat()。
C FAQ のどっかに書いてあったと思う。
0146デフォルトの名無しさんNGNG
>>134

まずボビーというHNをやめるべきことに気づくべき。
0147デフォルトの名無しさんNGNG
>>143
C FAQによるとすでに時代遅れになったとはあるが、ナル文字止めされていない
データパターンは存在している(いた?)
個人的に >>141 の解釈は気づかなかった。
0148デフォルトの名無しさんNGNG
一部だけ取り出したい時はstrncpy(dest,src,5);dest[5]='\0';とかdest[0]='\0';strncat(dest,src,5);か?
0149デフォルトの名無しさんNGNG
>>141
memcpy使え。
0150デフォルトの名無しさんNGNG
これで我慢しとけ。Win32のlstrcpynと同じ仕様だ。
char *strcpyn(char *str1, const char *str2, size_t count)
{
  if(count) {
    char *dst = str1;
    while(--count && *str2) *dst++ = *str2++;
    *dst = '\0';
  }
  return str1;
}
0151デフォルトの名無しさんNGNG
何を我慢するのやら
0152デフォルトの名無しさんNGNG
>>149

ふと思ったのだがmemcpyとstrncpyの違いって何?
引数がchar型強制と返り値だけ?
0153デフォルトの名無しさんNGNG
>>152
ヌル文字のチェックを忘れてるの〜
0154デフォルトの名無しさんNGNG
>>150
読みづれー。
0155デフォルトの名無しさんNGNG
\0後の動作が違う。
0156デフォルトの名無しさんNGNG
>>154
おいおい、あれぐらい頑張って読めよ
0157デフォルトの名無しさんNGNG
>>153
忘れてるんじゃない。俺はしない派。
0158デフォルトの名無しさんNGNG
文字列の場合はmemcpyだろうがstrncpyだろうが効果は同じだよね。
あくまでも文字列として扱う場合ね。
0159152NGNG
>>153

そうか……俺的に諸悪の根源のあの動作か。
サンクス。
0160デフォルトの名無しさんNGNG
>>156
頑張らないといけないなんて、やっぱり読みづれー。
0161デフォルトの名無しさんNGNG
>>158
「あくまでも文字列として」の意味がわからんよ。
後ろをゼロで埋めるところが違う。
0162デフォルトの名無しさんNGNG
>>156
翻訳お願いします。
0163デフォルトの名無しさんNGNG
>>161
文字列として扱う場合は\0以降は見ないだろ。
0164163NGNG
というわけでmemcpyは文字列以外の配列のコピーにしか使わない。
0165デフォルトの名無しさんNGNG
正直 >150 の仕様が一番使いやすそうだよなぁ、やっぱ。
0166デフォルトの名無しさんNGNG
>>164
お前だけはな。
0167デフォルトの名無しさんNGNG
何?150のどこが読みづらいの?

>>164
それはどうかと思う
0168163NGNG
見ないってのはプログラマが見ないという意味だよ
0169デフォルトの名無しさんNGNG
あれが読みづらいと言ってるヤツは初心者。
約1名しかいないようだが。
0170デフォルトの名無しさんNGNG
これで我慢しとけ。Win32のlstrcpynと同じ仕様だ。
char *strcpyn(char *str1, const char *str2, size_t count)
{
*str1 = '\0';
return strncat(str1, str2, count);
}
0171デフォルトの名無しさんNGNG
>>170

全然違うし。
0172デフォルトの名無しさんNGNG
char *strcpyn(char *str1, const char *str2, size_t count)
{
if (count) *str1 = '\0';
return strncat(str1, str2, count);
}
0173デフォルトの名無しさんNGNG
char *strcpyn(char *str1, const char *str2, size_t count)
{
if (count <= 0) return str1;
*str1 = '\0';
return strncat(str1, str2, count-1);
0174デフォルトの名無しさんNGNG
これで我慢しとけ。Win32のlstrcpynと同じ仕様で動く時もある。

#define strcpyn(str1,str2,count) \
  (*(str1) = '\0', strncat(str1, str2, count))
0175170NGNG
あ。
strncat() ってバッファが足りない場合は strncpy() と同じく終端 '\0'
付けてくれないのね。
ごめそ。
0176デフォルトの名無しさんNGNG
>>173
> if (count <= 0)
ダサ。
0177デフォルトの名無しさんNGNG
size_tがunsignedであることって保証されてたっけ?
でないと引数がマイナスで来る可能性もあるよね。
0178デフォルトの名無しさんNGNG
「サイズ」がマイナスだと困るな
0179デフォルトの名無しさんNGNG
>>176
だから自分のスタイルと違うのを馬鹿にするなって。
0180デフォルトの名無しさんNGNG
>>177
保証されてるよ。
0181デフォルトの名無しさんNGNG
ここでも時間の逆流が起こってるな>>178>>179
0182177NGNG
>>180
サンクス。
ってなると >>173 で if (count <= 0) ってやってるのはダサいことになるかな。
0183デフォルトの名無しさんNGNG
>>179
全然スタイルの話じゃないだろ。
0184デフォルトの名無しさんNGNG
一回しかクリックしてないのに二重カキコって言われる・・・。
0185デフォルトの名無しさんNGNG
>>181
いま吉良さまが戦っている。

>>184
キングクリムゾンの能力で1度目押したことを認識しなかったのだよ。キミは。
0186デフォルトの名無しさんNGNG
if (!count) か?
0187デフォルトの名無しさんNGNG
>>184
テキストの末尾に、適当に全角スペースとか加えてみろ。
0188デフォルトの名無しさんNGNG
>>182
いや、おまえのように自信のない奴はつけておいた方が確実。
0189デフォルトの名無しさんNGNG
>>178 >>179
プ) 
0190デフォルトの名無しさんNGNG
>>187
いや、それがだね。エラーといわれたのにちゃんと書き込まれているのだよ。
0191デフォルトの名無しさんNGNG
countがunsignedのときコンパイラによっては
if (count <= 0)
と書くと警告出す場合も
0192デフォルトの名無しさんNGNG
>>182
いや、おまえのように自信のない奴はsize_tで定義しない方が確実。
0193デフォルトの名無しさんNGNG
>>182
いや、おまえのように自身のない奴は包茎手術した方が確実
0194デフォルトの名無しさんNGNG
>>193
俺はズル剥けだっつの
0195デフォルトの名無しさんNGNG
>>194
バカ、お前の毛髪の話じゃないっつの
0196デフォルトの名無しさんNGNG
ちょっと目を離したスキにネタスレになってるYO・・・ トゥトゥトゥマシェーリー
0197デフォルトの名無しさんNGNG
「糞スレ本来の姿に」
0198デフォルトの名無しさんNGNG
>>195
はぁ?マジで剥けてるって。包茎がひがむな(ワラ
0199デフォルトの名無しさんNGNG
くやしい・・・
0200デフォルトの名無しさんNGNG
日本の男性の7割は包茎なんだから気にすんな
0201デフォルトの名無しさんNGNG
>>198
いいからさっさとアデランスにダイヤルしる!
見合いくらいならできるようになるかもしれんぞ(ワラ
0202デフォルトの名無しさんNGNG
なぜ包茎の話でアデランスとか言い出してんのか謎。
0203デフォルトの名無しさんNGNG
原因は 194+195
0204デフォルトの名無しさんNGNG
>>202
ここは2chだからそういうバカはよくいる
0205デフォルトの名無しさんNGNG
「お隣さん」で論争が始まったっぽい
0206デフォルトの名無しさんNGNG
202がなぜ包茎の話をすることには疑問を
もたないのか謎。
0207デフォルトの名無しさんNGNG
ってか日本人男性の七割が包茎なんて都市伝説みたいなもんだろ
0208デフォルトの名無しさんNGNG
。 207 がいぢめるYO〜!!!
。   ∧_∧。゚
 ゚  (゚ ´Д`゚ )っ゚
  (つ   /  アァァァァ
    |  (⌒)
   し⌒^
0209デフォルトの名無しさんNGNG
いいじゃん包茎でも。おまえらに迷惑かけたか?
0210デフォルトの名無しさんNGNG
>>209
チンカス臭いから迷惑
0211デフォルトの名無しさんNGNG
しかし、事実上スレが分かれたが、別に悪い事ではないな。
0212デフォルトの名無しさんNGNG
あっちは論争&質問スレ、こっちは包茎&ズル剥けスレ。
0213デフォルトの名無しさんNGNG
一応はっとこう。質問は↓へ。

char *c[43] = {"C言語のことは漏れに聞け!"};
http://pc3.2ch.net/test/read.cgi/tech/1037281411/l50
0214デフォルトの名無しさんNGNG
>>212
お前あっちの>>1だろ。まだいたのかしつこいな。
0215デフォルトの名無しさんNGNG
>>214
違いますが。あなたバカな人ですよね?
0216デフォルトの名無しさんNGNG
>>215
違いますが。あなたがバカな人です。
0217デフォルトの名無しさんNGNG
>>215-216
お前ら誰だ?
0218あっちの1NGNG
オレがあっちの1だよ。マジで。
どうでもいいけどこのスレ邪魔だ。削除依頼だしとけ。
0219デフォルトの名無しさんNGNG
>>218
あんた誰?
0220デフォルトの名無しさんNGNG
>>219
つーかおまえ誰よ?
0221デフォルトの名無しさんNGNG
>>218
だからお前誰だって。勝手に1なのるんじゃねーよ。
0222デフォルトの名無しさんNGNG
>>221
マジだよおまえ!
ほんとだから!
0223デフォルトの名無しさんNGNG
荒れてまつね
0224デフォルトの名無しさんNGNG
>>220
お前はオレだ!!
0225デフォルトの名無しさんNGNG
俺があいつであいつが俺で?!
0226デフォルトの名無しさんNGNG
荒らす奴がいなければこのスレも平和でいられたのに。
0227デフォルトの名無しさんNGNG
>>226
んなわけねーだろ。立った時点で糞スレだ。
0228デフォルトの名無しさんNGNG
別に極フツーのスレだと思うけどなぁ。
0229デフォルトの名無しさんNGNG
ここの>>1は単にスレが立てたかっただけなんだよ。
それが証拠に前スレがだいぶ残ってる時に、>>1がいきなりここを立てやがった。
0230デフォルトの名無しさんNGNG
>>228
>>49-50
0231デフォルトの名無しさんNGNG
それならそれでほっぽいて後から使えばよかっただけじゃ。
0232デフォルトの名無しさんNGNG
そんな>>1の行動を肯定するようなことはできん。そもそもスレタイにセンスがない。
0233デフォルトの名無しさんNGNG
所詮糞が立てたらこんな糞スレになる
0234デフォルトの名無しさんNGNG
ここで 1 を許したら、乱立厨を許す事になるぞ。
0235デフォルトの名無しさんNGNG
>>1
ふざけるな!
0236デフォルトの名無しさんNGNG
\0
0237デフォルトの名無しさんNGNG
簡単な質問で申し訳ないのですが、10進数を16進数に変換するには
どうすればいいのでしょうか?ご教授ください。
0238デフォルトの名無しさんNGNG
switch文
0239デフォルトの名無しさんNGNG
>>237
この関数を使えば変換できます。

int decimal_to_hexadecimal(int n) {
  return n;
}
0240デフォルトの名無しさんNGNG
>>237
電卓プログラムを起動してやってもらうプログラムを作る。
マウスを自動で動かす処理が結構面倒
0241デフォルトの名無しさんNGNG
>>237
char *hex[]={"00","01","02","03", ... , "FE", "FF"};
int dec = 24; /* 適当な10進の数値、ただし範囲は 0-255 */

printf("%s\n", hex[dec]);
0242デフォルトの名無しさんNGNG
>>237
char hex[0xffffffff][9];
int i,dec = 24;
for(i=0;i<=0xffffffff;i++) sprintf(hex[i],"%x",i);
printf("%s\n", hex[dec]);
0243242NGNG
ああ、int iだって
unsigned int iだよ
鬱だ逝ってきます
0244デフォルトの名無しさんNGNG
>>238-243
みなさん新雪でつね!
0245デフォルトの名無しさんNGNG
printf("%x", i);
024616to10NGNG
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <string.h>
main(){
int i,j=0;
char c[20];
float ans=0.0;
gets(c);
for(i=0; i<strlen(c); i++){
if(0<=(c[i]-'0') && (c[i]-'0')<=9)
ans+=(c[i]-'0')*pow(16,j--);
else if(c[i]!='.')
ans+=(c[i]-'a'+10)*pow(16,j--);
}
printf("%f\n",ans);
return 0;
}
0247デフォルトの名無しさんNGNG
麻奈本でCを勉強して、
for文を始めたのですが、本にあったサンプルコードが

#include <stdio.h>
int main()
{
int num,i;
printf("いくつ*を出力しますか?\n");
scanf("%d",&num);
for(i=1;i<=num;i++)
{
printf("*");
}
printf("\n");
return 0;
}

こうなってたのですが、そのなかの
printf("\n");
はどういう意味ですか?なんの意味があるのか分からないので教えてください。
お願いします。
0248デフォルトの名無しさんNGNG
改行じゃねえの?
0249デフォルトの名無しさんNGNG
>>247
\n の意味を調べれ。
0250デフォルトの名無しさんNGNG
しかし入門本って何で printf() から教えたがるんだろう。
まず putchar()、次に puts()、その次に初めて printf() だろうに。
0251デフォルトの名無しさんNGNG
>>250

本当に動いてる〜ってことが分からんとツマランからだろう。
0252デフォルトの名無しさんNGNG
\nは改行って知ってるのですが、
言葉が無いのに\nだけ入れても意味無いなー
と思い書きました。

さっきprintf("\n");抜きでコンパイル、実行したら
意味がわかりました。
すいませんでした。
0253デフォルトの名無しさんNGNG
ファイルのサイズってどう所得したら良いですか?
0254デフォルトの名無しさんNGNG
>>251
putchar() で、それに不足するか?
0255デフォルトの名無しさんNGNG
>>253
C FAQ を嫁にしろ。
「どうすれば読む前にファイルの大きさを知ることができるか」
http://www.catnet.ne.jp/kouno/c_faq/c19.html#12
0256デフォルトの名無しさんNGNG
>>254
一文字だけだと味気ないじゃん。
putsは\nが必要無いのが教育的じゃない。
0257デフォルトの名無しさんNGNG
あら、putsは改行はしないんだっけ?
0258デフォルトの名無しさんNGNG
>>255
サンクスできたよ
0259デフォルトの名無しさんNGNG
>>256
puts() は改行するよ。
まあ、言いたい事は分かるけど、247 のように何でもかんでも printf() を
使って回るのは、漏れが気に食わないというだけの話。
0260デフォルトの名無しさんNGNG
つーか改行コード直接打て。
0261デフォルトの名無しさんNGNG
1ビットの型の使い方教えてください
0262デフォルトの名無しさんNGNG
>>261
残念ですが 「1 ビットの型」 は C には存在しないので、教える事ができません。
0263デフォルトの名無しさんNGNG
>>260
printf("
");

は文法エラーになりますが何か?
0264デフォルトの名無しさんNGNG
>>262
やっぱりそうなの。なんか考えます
0265デフォルトの名無しさんNGNG
>>264
1 ビットの型であるかのように扱う事ができる方法はあります。
「ビットフィールド」 で Web を検索して下さい。
0266デフォルトの名無しさんNGNG
>>265
ありがとうございます
0267デフォルトの名無しさんNGNG
c言語を覚えるために
入門書を読まないで使える
ようになった人はいるんですか?
0268261NGNG
>>265
一通り見てみてちょっと思ったんですが、
ビットフィールドで1ビット単位のファイルの読み書きは出来ますか
0269デフォルトの名無しさんNGNG
>>268
それはできないです。
fgetc() で 1 文字ずつ読んで、ビット演算かビットフィールドで 1 ビットずつ
にばらして使うしかありません。
0270デフォルトの名無しさんNGNG
>>267
時にはいるかも知れないけど、まずいないと思う。
いたとしたらそれは天才か、本を買う金がなくて仕方なくマニュアルだけで
頑張っている人か、本の代わりに Web ページを参考にしている人か、何も
考えていない教えてクンくらいだと思うし。
0271270NGNG
他の言語でプログラミングに慣れてて、マニュアルだけで充分な情報が得られる
人というのもあるな。
0272デフォルトの名無しさんNGNG
267です。入門書を見ながら
c言語独学中なんですけど、Webページ
のサンプルコードは難しい自信が無くなる
皆さんはどいう覚えかたしたんですか?
後、1つの言語を覚えている途中で
他の言語を同時進行で憶えるのはよくないと聞いたんですが
どうしてですか?
0273デフォルトの名無しさんNGNG
>>263
gcc-2.96だと無事コンパイル実行ができたけど、環境はなに?
0274デフォルトの名無しさんNGNG
漏れみたいにstr:="abc";なんて中途半端なボケをかますことになるから
0275デフォルトの名無しさんNGNG
>>272
http://www.geocities.co.jp/SiliconValley/5634/t82BD_0002.html#849 「体得」

> 他の言語を同時進行で憶えるのはよくないと
単に混乱するから。
言語それぞれの考え方や手法があるが、一般にそれはまぜこぜにしてはいけない。
0276age&rlo;egaNGNG
>>272
>他の言語を同時進行で憶えるのはよくないと聞いたんですが
どうしてですか?

おいおい、おまえはバカか?
0277age&rlo;egaNGNG
>>272
>他の言語を同時進行で憶えるのはよくないと聞いたんですが
どうしてですか?

おいおい、おまえはバカか?
0278age&rlo;egaNGNG
>>272
>他の言語を同時進行で憶えるのはよくないと聞いたんですが
どうしてですか?

おいおい、おまえはバカか?

0279デフォルトの名無しさんNGNG
>>276-278
アホ丸出しだな。


>>273
Windows 98 Second Edition
Visual C++ 6.0 Enterprise Edition Service pack 5
0280デフォルトの名無しさんNGNG
0281デフォルトの名無しさんNGNG
>>279
> Enterprise Edition

生意気な。
0282デフォルトの名無しさんNGNG
学校の備品だろ
0283デフォルトの名無しさんNGNG
学割なら買えない値段じゃないんだが。
0284デフォルトの名無しさんNGNG
ちょっと調べたよ。C99サポートしてるらしいヤツ

FSF gcc 各CPU
富士通 C sparc
HP C hppa
0285デフォルトの名無しさんNGNG
>>284
Sunのコンパイラも。
0286デフォルトの名無しさんNGNG
また、くだらない質問です。
printf のパラメータの %- をつかって、
16進数を10進数へ変換するには何を使えばいいでしょうか?
0287デフォルトの名無しさんNGNG
>>286

printf("%d", 0x01);
0288デフォルトの名無しさんNGNG
>287
0x01の部分を文字で"AE"のように持ち込みたいのですが…。
どうなんでしょうか?
0289デフォルトの名無しさんNGNG
printfでは無理。
0290デフォルトの名無しさんNGNG
マクロの再定義は言語的には禁止されているのでしょうか?
0291デフォルトの名無しさんNGNG
では、なにか、int にする方法はありませんか?
0292デフォルトの名無しさんNGNG
undefすりゃいいじゃん
0293デフォルトの名無しさんNGNG
>>291
atoi,strtol
0294293NGNG
もとが16進文字列じゃatoiはつかえねーか
strtol使え
0295デフォルトの名無しさんNGNG
>>288

標準ライブラリの strtol で 16進文字列 -> 整数 の変換が出来る。
詳しくはコンパイラのマニュアル参照。
0296デフォルトの名無しさんNGNG
>>292
そ、そですね
0297デフォルトの名無しさんNGNG
有難うございます。助かりました。
0298デフォルトの名無しさんNGNG
>>296
標準ヘッダで定義されている名前(関数名、変数名、マクロ名…)は予約されて
いるから、そういうヘッダをincludeしているプログラムで標準の名前をマクロ
として定義するのは未定義動作。

ただし、以下は例外。
・ライブラリ関数は同名のマクロ定義も持っているかもしれない。
マクロじゃなくて確実に関数のほうを呼び出すために#undefするのは構わない。
・complex, imaginary, I, bool, true, falseは#undefして再定義してよい。
0299デフォルトの名無しさんNGNG
使いたい名前 typedef されてたらどうすんの?
0300名無しさん@カラアゲうまうまNGNG
こういうことか?

#define size_t sys_size_t
#include <stddef.h>
0301ちーんNGNG
質問なんですけど
個人的に、毎日の細かいデータを集計してグラフなどにしたいんです
項目は、一時間分20個位でそれを24時間数年分です。

で、できればネットでそのデータを共有したいんです。

こういう場合はC言語でOKなんでしょうか?
学生の頃Cとベーシックは確か学んだ記憶があるんでなるべく簡単に
始められる言語を使いたいんです。

どなたか、ご教授くださいお願いします
0302デフォルトの名無しさんNGNG
ちーん (−人−)

>>301
Excel 使いなさい。
0303ちーんNGNG
>>302
言われると思ったです
というか、その答えが一番適切だと思う

でも、個人的にExcal持ってないです
それに、もっと高度な事がやりたい気分なんですよ
0304デフォルトの名無しさんNGNG
>>301
「グラフ」 「ネット」
この時点で C 標準ではダメだ。
環境に依存したライブラリを使う事になるから、開発環境のスレに逝ってくれ。
ゆーても仕様がはっきりしないから、それでも有効な回答が得られるかどうかは知らん。
ちなみに、なるべく簡単にと言うなら VB とかの方が楽だとだけ言っておこう。

>>303
気分と言われても、何やりたいのか結局わからない。
0305デフォルトの名無しさんNGNG
Perlがよさそうだ
0306デフォルトの名無しさんNGNG
>>304
>>305
ありがとう
今日、帰りにエクセル買います(ワライ
0307デフォルトの名無しさんNGNG
>>306
言っておくが、Excel VBA でもかなり高度な事ができるぞ。
何をやりたいのか知らないけど。
0308デフォルトの名無しさんNGNG
>304
そーかー?
pngとかhtmlとか出力させて、見るのはブラウザ、って
ことにすれば、生なCでも大丈夫なんでネーノ。
0309デフォルトの名無しさんNGNG
>>308
グラフについてはそれでも OK かもな。
でも、グラフではなくデータを共有したいと言っているぞ。
nfs でも使えばいいのか。
0310ちーんNGNG
NFSってデータベースのことですか?
MYSQLとかそういうやつの事ですね?
わかりました、もっと調べてみます
レスどうもです
0311名無しさん@カラアゲうまうまNGNG
>>310
> NFSってデータベースのことですか?
> MYSQLとかそういうやつの事ですね?

まるっきり別物。

(Perl|Python|Ruby)+GnuPlot
0312デフォルトの名無しさんNGNG
char buf[10,buf2[10];
fp=fopen("test.bmp","rb"))
fread(&buf,1,1,fp);
fread(&buf2,1,1,fp);

でよんだbufとbuf2の計算buf2-buf
とかをしたいんだけど
根本的に間違いですか?
10進でも16進でも計算できればいいのですが・・
0313デフォルトの名無しさんNGNG
>>312
先に数値と数字の違いを勉強してこい。
0314Name_Not_FoundNGNG
でもbmpファイルだな。
隣り合うピクセル値の差を取りたいのか?
0315デフォルトの名無しさんNGNG
>>313
申し訳ない。

>>314
そうです目的はBMPの隣同士のピクセル値(RGB)の差です。
0316デフォルトの名無しさんNGNG
>>315
じゃあ、数値だからそのまま引け。
判らなければビットマップなんか弄る前に配列をちゃんと理解汁。
0317デフォルトの名無しさんNGNG
(´-`).。oO(bpp とか調べないまま計算していいのかね。。。)
0318デフォルトの名無しさんNGNG
実は256色パレット付きだった、とかだな。
0319デフォルトの名無しさんNGNG
(´-`).。oO(というか 312 のコードはファイルの 1 バイト目と 2 バイト目を読んでいるように見えるが。。。)
0320デフォルトの名無しさんNGNG
0321名無しさん@カラアゲうまうまNGNG
>>319
(´-`).。oO(というか配列のアドレス同士の引き算をしてるように見えるが…)
0322デフォルトの名無しさんNGNG
char hoge;
char piyo;

memcopy(hoge, piyo, sizeof(piyo));

これだとpiyoのサイズって1ですか?
0323名無しさん@カラアゲうまうまNGNG
これってどれだよ?

つーかsizeof(char)は定義上1。
0324デフォルトの名無しさんNGNG
sizeof piyo
0325デフォルトの名無しさんNGNG
>>322
ムチャするな
0326デフォルトの名無しさんNGNG
ちょっと質問なんですけどディレクトリ操作(mkdir等)やディレクトリのファイルの一覧の
入手の仕方(Opendir等)はunixの環境ではwebで調べて分かったんですが、
VC++の環境で(言語はC)同じようなことするにはどんな関数を使えば良いのですか?
VC++ってdirent.hやunistd.hなんかのヘッダーファイルありませんよね。
まだよく分かりませんがヘッダーファイル作るしかないのでしょうか?
0327名無しさん@カラアゲうまうまNGNG
#include <winbase.h>

FindFirstFile() & FindNextFile()
0328326NGNG
>>327
ありがとうございます。
あとはがんばってやってみます。
0329デフォルトの名無しさんNGNG
ファイルポインタを1行だけ戻す方法はありますか?
もしくはファイルを最終行から上に向かって読む方法はありますか?
0330名無しさん@カラアゲうまうまNGNG
その前の行の長さが分かってればできる。

ただし、世の中にはファイルイメージと読み込み後のデータでは長さが違うと
いうプラットフォームが存在するので注意。

より汎用的な方法としては、ブロック単位などでseekして末尾から改行を探す。
0331初心者NGNG
引数なしのメイン関数の正しい書法が分かりません。
1.
int main ()
{
return 0;
}
2.
int main (void)
{
return (0);
}
他にも1,2の変形といったものが考えられます。
何が正しい作法なのでしょうか?
0332デフォルトの名無しさんNGNG
int
main(
  void
)
{
  return 0;
}
0333デフォルトの名無しさんNGNG
int main(int argc, char *argv[], char *e[])
{
    return 0;
}
0334デフォルトの名無しさんNGNG
>>331
1.はC++だけで使ったほうがいいよ。
0335デフォルトの名無しさんNGNG
もう一つのスレが主流だと思ってたのにいつの間にかこっちがメインになってる。
0336初心者NGNG
>>334
なぜでしょう?
0337デフォルトの名無しさんNGNG
>>336
スレ違い。ここは*C言語*質問所ですw
0338デフォルトの名無しさんNGNG
1. の形式が C で何の問題があるんだ?
根拠呈示きぼんぬ。
0339名無しさん@カラアゲうまうまNGNG
>>338
Cではプロトタイプと見なされないということだろう。
どっちでも構わんと思うが。
0340デフォルトの名無しさんNGNG
実はmainの型はcdeclなんで引数の数はどうでもよかったりする。
0341デフォルトの名無しさんNGNG
文字列処理の質問です。

(1)
全角、半角混合の文字列から、strHogeHoge[i]で取得した値が、半角文字なのか、それとも
全角文字の一部なのか、判定するにはどうすればよいですか?

(2)
Unicode ←→ SJisまたは、Unicode ←→ EUC 変換ルーチンのコードを公開しているサイト
はありませんか?
(SJis ←→ EUC とか、Jis ←→ EUC なら検索エンジンで見つかるのですが・・・)
0342デフォルトの名無しさんNGNG
>>340
cdeclって何?
0343デフォルトの名無しさんNGNG
>>341
環境とか判定したいコードとか書けや。
0344デフォルトの名無しさんNGNG
>>341 (2)
JIS(JIS X0208, X0201あたり)と、SJIS, EUCは簡単な計算で相互変換できる。
Unicodeは全く異なるコード体系なので、変換テーブル持たないと無理。
unicodeとjis系との相互変換はOSとか処理系とかのシステムが持ってる
ルーチン使うのが普通だと思う。
win32ならmbstowcs, UNIXならiconv。

>>340
少なくともMS用語では、関数の呼び手が引数積んだスタックをクリアすること。
pascalタイプだと、呼ばれた側がスタックをクリアするので、呼ばれた側
が何個の引数が渡されたか把握してないといけない。
0345デフォルトの名無しさんNGNG
>>341
(1) 元になる文字コードは何ですか?
(2) ありますよ。 ttp://www.google.com/
に、"UNICODE JIS 文字コード 変換 テーブル" とでも入力してGO!
PerlでかかれててもCに変換等すればいいですよね?
0346デフォルトの名無しさんNGNG
>>345

(1) Windows のコンソールからscanfで読み込んだ文字列ですので、
  SJisです。

(2) ありがとうございます。調べてみます。
0347デフォルトの名無しさんNGNG
>>346
(1) 全角、半角混合の文字列はcharの配列を意味しているのならば無理
  全角、半角混合の文字列はwchar_tの配列を配列を意味しているのならば可能
0348デフォルトの名無しさんNGNG
>>344
スタックをクリアするというのはおそらく
スタックポインタを戻すとかそんなことですよね。
ありがとうございました。
0349デフォルトの名無しさんNGNG
>>346
(2) 343さんも書いてる通り、環境書きましょうよ。
わたしが愛用しているQuickC Ver2.0だと
#include<jstring.h>
で日本語文字列処理ができるマクロ等が使えます
LSI-Cにもあるみたい(無確認)
LSI-Cならダウンロードしてみて、ヘッダファイル見てみては?
0350デフォルトの名無しさんNGNG
>>347
char *でもマルチバイト文字列を使えばできるのでは。
0351デフォルトの名無しさんNGNG
>>347
ハァ?

>>346
当然非標準だが、MicrosoftのCライブラリには判定用の関数あるよ
http://www.microsoft.com/JAPAN/developer/library/vccore/_crt__ismbb_routines.htm
_ismbbkana、_ismbblead、_ismbbtrail
0352デフォルトの名無しさんNGNG
if (*argv[3] !='0' && *argv[3] !='1') {
printf("machigateruyo'\n");
exit(-1);
}

こんな書き方ってできますか?
0353デフォルトの名無しさんNGNG
argcとargvを普通どおりの意味で使っていて、
printfやexit用にそれぞれstdio.hとstdlib.hをちゃんとincludeしてあって、
argcが4以上なら、C言語的には間違いでない。

exitに-1を返すとどうなるかは処理系定義だが、
Unixだとふつう255を返したとみなされるだろう。
0354デフォルトの名無しさんNGNG
>>352
試してみれば?
0355デフォルトの名無しさんNGNG
>>352
たとえば
test.exe 123 456 789 012
という入力のとき、
最初の一文字だけで判断していいの?
0356デフォルトの名無しさんNGNG
>>343-345
>>347
>>349-351

ありがとうございます。
仰る通り、環境を書くべきでした。
言い訳になりませんが、実は、標準関数だけで、特定のOS、コンパイラに依存しない
互換のコードが書けるのかな?と思ったのです。

やはり無理がある(Or 「車輪の再発明」になる)ということでしょうか?

環境があるのは、
(1) gcc
(2) BCC5.5.1
(3) VC++6.0 SP5
(4) VC++.NET
の4種類です。(OSはすべてWin 2000 SP3)

0357デフォルトの名無しさんNGNG
フーン金もってるんだね。
0358デフォルトの名無しさんNGNG
>>357
そうか?VC++はアカデミックだと安いし、
残りの二つはフリーじゃん。合計で5万くらい?
0359デフォルトの名無しさんNGNG
アカデミック購入した人がアカデミック使えなくなったとたんにMSと縁が切れる可能性。
0%
0360デフォルトの名無しさんNGNG
VC++6.0はエンタープライズ(自腹)です。
VC++.NETは会社のを自分の(略)
0361デフォルトの名無しさんNGNG
>>356
hoge.hに機種依存コード書いて、
#ifでどのコンパイラで動いてるか判断させて
自分でオリジナルの関数だのマクロだの作れば、すくなくとも
*.cのソースは依存気にしなくて作れると思うんだけど。
0362デフォルトの名無しさんNGNG
>>361
ありがとうございます。
研究してみます。
0363デフォルトの名無しさんNGNG
下記のコードが通らないのはナゼでしょうか?

void Hogehoge(void)
{
char s[100];
memset(s,0,100);

const char* str = "test";

memcpy(s,str,strlen(str));

s += strlen(str); // ← ここで「左辺値が必要」というエラー
..............
}

上記のエラー個所を下記のような関数を通すようにするとコンパイルエラー
になりません。
s += strlen(str)をHoge(s,strlen(str))に変更

void Hoge(char* s,int length)
{
s += length;
}

s += strlen(str)もHoge(s,strlen(str))もやっている事は同じなのにナゼなんでしょうか?
ちなみにC++Builder6を使用しています。
0364デフォルトの名無しさんNGNG
配列とポインタは別物
ちゃんと過去ログ調べろや
0365デフォルトの名無しさんNGNG
>>363
char s[100]; の s は定数だから、 s += strlen(str); なんて書き方はできません。
0366363NGNG
>>365
あ、その通りですね、とんでもない勘違いをしてました(汗 有難う御座います。
>>364
スミマセン、出直してきます。
0367デフォルトの名無しさんNGNG
文字列の浮動小数点数をdouble型へ読みこませたいんですが、
文字列"3.3"
とかの場合、小数部をどう処理すればいいんでしょうか。
整数部と少数部をドットで区切って読んでおいて、

整数部 + 少数部 / 10の(小数部の桁)乗
3   +  3 / 10.0 (この場合1桁なので)
→3.3

除算してるのが不安なんですが、これでいいんでしょうか。
0368デフォルトの名無しさんNGNG
s は定数じゃなくて左辺値。
0369デフォルトの名無しさんNGNG
>>367
> 文字列の浮動小数点数をdouble型へ読みこませたいんですが、
sscanfという関数を小一時間しらべてみろ
0370デフォルトの名無しさんNGNG
>>369
strtodをすすめろ
0371デフォルトの名無しさんNGNG
>>368
左辺値だったら代入可能でない?
0372デフォルトの名無しさんNGNG
>>367
文字列なら浮動でも固定でもないと思うんだけど。
0373デフォルトの名無しさんNGNG
え、文字でも・が動きませんか?
0374デフォルトの名無しさんNGNG
>>369
sscanfだと正しく読みこめないんですが。

main() {
double d;
sscanf("3.3","%f",&d);
printf("%f\n",d);
}
cl scantest.c
scantest
0.000000
0375デフォルトの名無しさんNGNG
>>374
"%lf"・・・・・・・
0376デフォルトの名無しさんNGNG
マニュアルをよく読みましょう
0377デフォルトの名無しさんNGNG
atof使うことにします。
0378デフォルトの名無しさんNGNG
あ、strtodの方が良さげですね。
ありがとうございました。
0379デフォルトの名無しさんNGNG
構造体の中身のメンバーをいっぺんに
printf()することってできますか?
0380デフォルトの名無しさんNGNG
ずっと前に見て、トリッキーさを感じたのは、
RECT r = {...};
にたいして、printf("%d %d %d %d" , r );だったな。

こういう特殊例以外ではうまくいかない気がする。
0381デフォルトの名無しさんNGNG
>>379
標準出力にならば
fwrite(&s_t, 1L, sizeof s_t, stdout);
で出力できるが、おそらく君の期待した方法ではないだろう

おそらく君の期待していることは「デバッガ」という検索キーワードで
解決できるかもしれない。
0382デフォルトの名無しさんNGNG
>>379
マクロで組むとか。
0383デフォルトの名無しさんNGNG
 
0384デフォルトの名無しさんNGNG
島谷タソに強引に迫られてみたい…ハァハァ(´Д`;)

島谷「あのね、今日実はお願いがあるんだ…うふふ…」
漏れ「えっ何?言ってみてよ、ひとぴょん」
島谷「私も男の子がオシッコしてるとこ見てみたいなぁ〜…な〜んてねっ♪クスッ」
漏れ「えっ!?も、漏れの!?」
島谷「ねぇいいでしょ?私オチンチンの先からオシッコ出てるの見ると、何だか『可愛い〜』って思っちゃうの…♪」
漏れ「うん…じゃぁいいよ、ひとぴょん」

ジョボボボ…

島谷「立ってオシッコするのって、何か不思議だね…私、ずっと見てても全然飽きないの…」
漏れ「えっ別に普通だよ…ねぇ、ど、どこ持ってるの?ひとぴょん」
島谷「ここ持ってると、オシッコ通ってるのが物凄くよく分かるね…うふふ…」
漏れ「やめてよひとぴょん…恥ずかしいよ…」

(省略されました・・全てを読むにはここを押してください)
0385デフォルトの名無しさんNGNG
コンパイラやハードに依存する部分ができるだけ少ない
ソースを書きたいんですが、ANSI C準拠でも油断が出来ないという話を
聞きます。具体的に何を使うとまずい、というのはあるのでしょうか?
0386デフォルトの名無しさんNGNG
>>385
そう言った人に聞くのが手っ取り早いんじゃ?
0387デフォルトの名無しさんNGNG
>>385
>>1 に書かれてるリンクは見ました?
それでも不満ですか?
0388デフォルトの名無しさんNGNG
リターンが未定義とか、intの大きさとか?
ちゃんと使えばANSI Cで定義された通りに動きますよ。
コンパイラは人間の意図した通りにうごきません。
仕様にそって、書かれたCのソースに沿った事にしたがって動きます。
0389デフォルトの名無しさんNGNG
>>385
peek()なりpoke()なり使うとよろし
なつかしいな
0390デフォルトの名無しさんNGNG
>>384
こぴぺを否定するつもりはない(2ちゃんねるの文化?なので)が、前後の文脈に
合わせてローカライズ(カスタマイズ)するぐらいの努力はしてほしい。
0391385NGNG
聞いたというよりはどこかで読んだということなので確かめようがないですが、
マクロや複雑なコードでコンパイラの挙動が異なりうるとか聞いたもので。
携帯からなんでまだ1のリンクは読んでませんが、そこを読んで複数のコンパイラで
テストをしつつコーディングすることにします。
0392デフォルトの名無しさんNGNG
>>391
ANSI Cをちゃんと理解していれば、>>385の疑問はでてきません。
>>388の通り、ANSI Cコンパイラならちゃんと動きます。
ただし、動作は同一とはかぎりませんがね。
0393デフォルトの名無しさんNGNG
>>392
> ANSI Cコンパイラならちゃんと動きます。
しかし、この世にはANSI Cが制定される前に
書かれたCコンパイラがあり、free(NULL)をするとcoreを吐く
コンパイラが存在することも事実
0394デフォルトの名無しさんNGNG
>>393
それはANSI Cコンパイラじゃないですよね。
0395デフォルトの名無しさんNGNG
>>394
> それはANSI Cコンパイラじゃないですよね。
yes, でも>>385では
> コンパイラやハードに依存する部分ができるだけ少ないソース
と言っているのでそういうCコンパイラも存在する
例を挙げただけですが何か?
0396WarezNGNG
That's not an ANSI C compiler, is it?
Yes.
0397デフォルトの名無しさんNGNG
>>395
あぁ、>>385で
>ANSI C準拠でも油断が出来ないという話
と書いてたので、ANSI Cが前提かと思ってた。
0398デフォルトの名無しさんNGNG
ファイルというものがない環境があると聞いたけど、そういう環境用のコンパイラならANSIには準拠できないんじゃない?
fopenとかつくれないし。
0399デフォルトの名無しさんNGNG
組み込み用のCコンパイラなど、そうですね。
でも、fopenなどは作ること、可能ですよ。
ファイルを作ろうとすると、必ずエラーが帰ってくるというだけですよね。
0400デフォルトの名無しさんNGNG
>>371
遅レスだが、「配列は代入不可能な左辺値」 だそうだ。
何のこっちゃと思えば、「左辺値でなければ & 演算子を適用できない」 という根拠らしい。

でも、VC6 とか配列を配列に代入しようとすると 「オペランドが、左辺値になっていません」
とか言われるんだよなあ・・・。
gcc だと、コンパイル通ってまともに実行できちまう。
0401デフォルトの名無しさんNGNG
>>400
見つけた。JIS X3010-1993

6.2.2.1 左辺値および関数指示子 左辺値(lvalue)は、オブジェクトを指し示す式(オブジェクト型、又は
void 以外の不完全型を持つ。)とする。オブジェクトが特定の型をもつことを示すには、そのオブジェ
クトを指し示すために用いる左辺値によってその型を指定する。変更可能な左辺値とは配列型を持たず、不完全型を持たず、const修飾型を持たない左辺値とし、それが構造体又は共用体の
場合、const修飾型の(再帰的に包含されているすべての構造体又は共用体の任意のメンバを含む。)メン
バをもたないものとする。
(以下略

より正確に言うと「配列は代入可能な左辺値ではない」かな
0402401NGNG
嘘
×:「配列は代入可能な左辺値ではない」
○:「配列は変更可能な左辺値ではない」
0403400NGNG
401-402 乙
0404弁士NGNG
画像処理をしているのですが、JPEGのプログラムを打ちたいのですが、全然わかりません。
JPEGの圧縮プログラムを知っている方がいられるのであれば、教えてください。
0405デフォルトの名無しさんNGNG
>>401
C言語って楽しそうでつね。
言語を使うために言語を使っている感じで。
0406デフォルトの名無しさんNGNG
>>405
> 言語を使うために言語を使っている感じ
自国語も満足に使いこなせない奴にはそう見えるんだろうな
プログラム言語を使いこなすためにはその言語の規格書を読む必要がある
CだろうがJavaだろうがPerlだろうが同じことだ
0407デフォルトの名無しさんNGNG
>>404
えー、”JPEG ライブラリ”で検索すればひっかかりましたよ。
言語やOSは何でしょうか?
0408デフォルトの名無しさんNGNG
http://siisise.net/jpeg.html
とりあえず。
0409デフォルトの名無しさんNGNG
画像のおすすめはPNG☆
0410デフォルトの名無しさんNGNG
マルチ歓迎のやさしい住人がおられるスレはここですか
0411408NGNG
>>410
げ。見てなかった。宇津田。煎ってきます
0412デフォルトの名無しさん NGNG
#include <stdio.h>
main()
{
int n;
printf("SEISUU=");scanf("%7d",&n);
printf("%5d\n",n);
}

上記のようなプログラムを実行した時に7桁の数値を入力すると
出力される数値の桁数が5桁ではなく7桁になるんですが
6行目のprintfで指定した5桁は無視されるんでしょうか?
0413デフォルトの名無しさんNGNG
>>412
ちゃんと動くとおもいますよ?仕様の通りに。
scanfを使わないようにという突っ込みはしませんが。
0414デフォルトの名無しさんNGNG
>>412
仕様です

http://www.linux.or.jp/JM/html/LDP_man-pages/man3/printf.3.html
フィールド幅の最後のあたり
>  もし変換結果がフィールド幅よりも広かった場合、
>  フィールドは変換結果が入るように拡張される。
0415デフォルトの名無しさんNGNG
>>412
%5dは「5桁で」ではなく「最低でも5桁で」だから。
0416デフォルトの名無しさんNGNG
文字に変換して、文字列処理すれば何行と出すのは簡単
#ほかにいいやりかたあるかな
0417デフォルトの名無しさんNGNG
>>416
> 何行
何桁の間違いか?
桁数ならlog10()で一発で出せますが何か?
0418デフォルトの名無しさんNGNG
>>412

scanfで%7dって初めてみた・・・
どういう効果?
0419412NGNG
>>413-415
どうもありがとうございました
助かりました

>>418
これ書籍に載っていたサンプルプログラムですが
scanfで%7dのように指定するのはおかしい事なんですか?
0420デフォルトの名無しさんNGNG
いえ。
ですが、どういう意図で付けているのか、理解していなければ、
仕様書よんでください。
0421デフォルトの名無しさんNGNG
>>419
> scanfで%7dのように指定するのはおかしい事なんですか?
おかしくない。

>>418が
int x, y, z;
sscanf("1234567", "%1d%2d%3d", &x, &y, &z);
pruntf("%d %d %d\n", x, y, z);
の結果が分かっていない厨なだけ。
0422418NGNG
ああなるほど。
7文字目までしか見ないのか。
12345678と入力すると1234567になるのか。
0423デフォルトの名無しさんNGNG
>>417
こいつ馬鹿だな
0424デフォルトの名無しさんNGNG
pruntfか
0425デフォルトの名無しさんNGNG
馬鹿が逆切れしてるスレってここですか?
0426デフォルトの名無しさんNGNG
読解力のないやつが逆切れしているスレってここですか?
0427デフォルトの名無しさんNGNG
馬鹿の上に粘着きわまりないどうしようもない厨房がいるスレってここですか?
0428デフォルトの名無しさんNGNG
−−−− いつもの煽りあいがはじまりました −−−−
一般市民は以下の場所に避難して下さい
http://pc3.2ch.net/test/read.cgi/tech/1037281411
0429デフォルトの名無しさんNGNG
>>412をのどこに桁数を得る方法を教えろとかかれている。
7桁になっているものを5桁で表示したいということだろ。
0430デフォルトの名無しさんNGNG
>>417
1 発じゃ出ないだろ。


と言ってみるテスト
0431デフォルトの名無しさんNGNG
>>429
412 は、「どうなるか」 を訊いているだけで、「どうしたいか」 は全然書かれてない
と思うんだがどうよ?
0432デフォルトの名無しさんNGNG
>>431
ここはいつから国語のスレになったんだ…
0433デフォルトの名無しさんNGNG
ところで、>>416はどこいった?
0434デフォルトの名無しさんNGNG
>>429
> 7桁になっているものを5桁で表示したいということだろ。
そんなことは書いてありませんが、君の脳内妄想ですか?
0435デフォルトの名無しさんNGNG
433 必死だな
0436429NGNG
>>434
確かにどうなるかということ聞いているが、文脈からわかるだろ・・・
0437デフォルトの名無しさんNGNG
糞>>1が立てたスレは糞スレになる法則
0438デフォルトの名無しさんNGNG
>>1に責任転嫁
0439デフォルトの名無しさんNGNG
>>437
それは Part1 から既にそうだ。
0440デフォルトの名無しさんNGNG
>>439
馬鹿必死だなw
素直に負けを認めろ
0441439NGNG
>>440
あなたとは、はなから勝負してませんが何か?
0442デフォルトの名無しさんNGNG
要約:
>>412の予想は「5桁になる」
実際には「7桁になる」

問 6行目のprintfで指定した5は無視されるのか?
0443デフォルトの名無しさんNGNG
>>417
整数の桁計算をdoubleでやるとコスト高くねえか?


と言ってみるテスト
0444デフォルトの名無しさんNGNG
>>439=>>416
必死だな
0445デフォルトの名無しさんNGNG
>>436
文脈からするとprintfの仕様を聞きたいだけみたいだし、
事実>>419で納得している

チミが勝手に脳内妄想をしたのをさっさと認めて粘着逆切れを止めろ
0446439NGNG
漏れは本当に 416 でないんだが、何でそう思われたんだ?                          ・・・ま、いっか。
0447デフォルトの名無しさんNGNG
>>443
文字列に変換して長さを測るよりはずっと速いし軽いぞ。
0448デフォルトの名無しさんNGNG
4桁の2進数を文字列として標準入寮から入力し、
これを10進数へ変換して表示するプログラムを作成せよ。

無知な私を助けてください。
0449416NGNG
よけいな茶々いれるからだ。
0450デフォルトの名無しさんNGNG
>>443
int i = 12345;
while(i /= 10)
  ;
桁数を求めるだけならこれが最速かな?
0451デフォルトの名無しさんNGNG
また来たよ・・・(;´Д`)

http://pc3.2ch.net/test/read.cgi/tech/1036572120/381
0452デフォルトの名無しさんNGNG
>>450
・・・本気ですか?
0453デフォルトの名無しさんNGNG
>>451
くーるーきっとくるー
0454デフォルトの名無しさんNGNG
>>448
>>1 をご覧下さい。
0455デフォルトの名無しさんNGNG
煽りの最中に宿題教えて君かよ、それに答える奴もおめでてーな
0456デフォルトの名無しさんNGNG
>>455
それに答えるやつって>>451のことか?
0457デフォルトの名無しさんNGNG
まちがえた
int i, n = 12345;
for( i = 0; n /= 10; i++)
  ;
# 0の場合は0桁になるのは仕様です
0458デフォルトの名無しさんNGNG
>>457
430 が示した式には、そんなクソな仕様はありませんが何か?
第一それ、全然速くないだろう。
0459デフォルトの名無しさんNGNG
430の式ってなんだろう・・・
0460デフォルトの名無しさんNGNG
430の式:
(size_t)log10(n) + 1
0461デフォルトの名無しさんNGNG
>>430
0462デフォルトの名無しさんNGNG
>>459
もっとくまなく探せ。
お前それで、ちいさなメダル全部集めたとか言わないよな?
攻略本見たクチか?
0463458NGNG
んー、待てよ。
10 が変数じゃなくて定数だと、「2 回のシフトと 1 回の加算」 に最適化されて
log10() よりも速くなったりするな。
最適かからない状態なら、log10() のが速いけど。
0464デフォルトの名無しさんNGNG
>>458
> 430 が示した式には、そんなクソな仕様はありませんが何か?
>>430にはソースの片鱗も見あたりませんが何か?
log10()は0や負の値を引数にするとエラーになりますが何か?
ちなみに417は私ですが何か?
0465デフォルトの名無しさんNGNG
>>463
> 最適かからない状態なら、log10() のが速いけど。
キャストするコストを忘れてませんか?
おじいちゃん昼食2回も食べてるよ...
0466デフォルトの名無しさんNGNG
( ´д)ヒソ(´д`)ヒソ(д` )
0467デフォルトの名無しさんNGNG
>>464
>>462
0468デフォルトの名無しさんNGNG
最近、「〜が何か?」とつける奴は必死に思えてならない。
0469デフォルトの名無しさんNGNG
>>465
const int LoopNum = 5000000;
int lpcnt, r;
volatile int ten = 10;
volatile size_t ans;
clock_t cTime;
srand(clock());

cTime = clock();
for(lpcnt = 0; lpcnt < LoopNum; lpcnt++)
{
r = rand() * rand();
ans = (size_t)log10(r) + 1;
}
printf("%u\n", clock() - cTime);

cTime = clock();
for(lpcnt = 0; lpcnt < LoopNum; lpcnt++)
{
r = rand() * rand();
for(ans = 0; r /= ten; ans++);
}
printf("%u\n", clock() - cTime);
0470デフォルトの名無しさんNGNG
>>430にはソースの片鱗も見あたりませんが何か?

こーゆーのはずかしーなー。いまのうちに釣り宣言の用意か
逆ギレの用意でもしとけ
0471デフォルトの名無しさんNGNG
コテハンじゃないんだから言い訳しないで知らんぷりしてればいいのにね。
0472デフォルトの名無しさんNGNG
430 にはソースと呼べるものは無いかもしれないが、ソースの片鱗は確かにある。
見つけられない香具師が可哀想だ・・・。
0473デフォルトの名無しさんNGNG
>>469
gcc version 3.2で確認
-Oオプション無し
15322
3414
-Oオプション有り
15261
3245
ですが何か?
# いい加減馬鹿と付き合うのにも疲れてきた...
0474デフォルトの名無しさんNGNG
vc6sp5

6669
10065

-O2
4105
9343

ダタ
0475デフォルトの名無しさんNGNG
>>473
マジ?
gcc 何でそんなに遅いの?
0476デフォルトの名無しさんNGNG
つーか、gcc 2.95.1 とか MinGW gcc 2.95.2 とかは、やっぱり割り算の方が
倍以上かかってるが。
gcc 3.2 は一体何があったの?
0477デフォルトの名無しさんNGNG
ちょうどいい機会だったので BCC55 インストールした。
やっぱり割り算の方が倍近くかかってる。
0478デフォルトの名無しさんNGNG
>>468
必死の時とそうでない時があり、そうでない時の方が多いですが何か?
0479デフォルトの名無しさんNGNG
 必 至 だ な 
0480デフォルトの名無しさんNGNG
>>479
必至ではありませんが何か?
0481デフォルトの名無しさんNGNG
 ま す ま す 必 至 だ な
0482473NGNG
訂正
bcc55でコンパイルしたら警告が出てきたので以下のヘッダを追加
#include <stdlib.h>
#include <time.h>
#include <math.h>
-Oオプション無し
3164
3405
-Oオプション有り
3154
3245
だが、倍はかからない

bcc55は実行すると「log10: SING error」となる、おそらく数学ライブラリが
リンクされてないからだと思うが、bcc55で-lmでは駄目なのか?
0483デフォルトの名無しさんNGNG
SING ERROR?
SIGN じゃなくて?
0484473NGNG
>>483
> SIGN じゃなくて?
違う。Cygwinの出力結果をコピペしたんでタイプミスは無い
ん、Cygwinでやってんのが悪いのか?DOS窓でやってみるか...
0485デフォルトの名無しさんNGNG
rand() * rand() が 0 を生成する事があり、BCC ランタイムはそれを親切に
報告してくれてるのだろう。

しかし、BCC 5.5.1 だけど漏れと随分結果違うな。
CPU は何? こっち PentiumIII-800。
1706
2846
0486デフォルトの名無しさんNGNG
>>481
ますます必至ではありませんが何か?
0487デフォルトの名無しさんNGNG
単に実行時に0になっただけというオチに一票
0488485NGNG
ああ、ちなみに log10(r + 1) でやった。
0489デフォルトの名無しさんNGNG
パフォーマンステストに Cygwin を使うか・・・(;´Д`)
0490デフォルトの名無しさんNGNG
r = (rand() * rand()) + 1;//適当だな
0491デフォルトの名無しさんNGNG
まあ好みの問題だが、randを括弧で括る必要は無いと思う。
0492デフォルトの名無しさんNGNG
あ、計算の優先順位気にするのがきらいなもので、括弧はつける習慣なのですY0
0493デフォルトの名無しさんNGNG
いずれにせよ、最適化されれば488と490に違いは無い。
rが別の場所で使われてれば別だが。
0494473NGNG
> r = (rand() * rand()) + 1;//適当だな
こいつに修正
gcc -O無し -O有り
3164    3174
3415    3235
bcc55
1642    1642
2764    2764
うーむ、gccは遅いのか?
> CPU は何? こっち PentiumIII-800。
同じ、メモリは128M、OSはWin2000SP2
0495473NGNG
あとvolatileをはずした結果
gcc -O無し -O有り
3174    2453
1472    1262
bcc55
1041    1052
2784    2794
なのでgccでvolatileを使わないと>>457の方が速い
bcc55の場合、log10の方が速い
VC++? それは持ってる奴がやってくれ
0496デフォルトの名無しさんNGNG
アセンブラソース出してみないとわからんけど、
GCCがちゃんとvolateilを効かせているという証明かな
0497473NGNG
だいたいgccのlog10の挙動が怪しすぎる
なんで#includeを入れたり入れなかったりしただけで速度が変わるんだ?
log10自体もbcc55に負けてるし...ループがgccの方が速いけど
log10の実装はどうなってんだ?...面倒だがlibc読んでみるか

と言うことでlibc落としてくるので俺は消える。
0498デフォルトの名無しさんNGNG
VC6SP5、PentiumIII-800。

      最適化 最適化
       なし   あり

volatile  1430   110
なし    2910   770

volatile  1430  1210
あり    2910  2640

最適化なしでは volatile は無意味のようだ。
volatile なし & 最適化ありでは log10() が丸々消えていて rand() だけが残っている。
for の割り算は残っているが、結果をどこにも格納していないので最適化なしよりは速い。

いずれにせよ、log10() の方が速かった。
しかし、volatile int ten = 10; の volatile を抜いて最適化すると、
  1260
  830
割り算の方が速い。


473 氏の gcc が遅いのは、log10() がインライン展開されていないせいか?

個人的な感想だが、どうも VC は最適化が入るとループがえらい強いな。
パフォーマンステスト対策か。
0499デフォルトの名無しさんNGNG
ちなみに、定数による割り算が最適化で速くなるのは 463 氏の通り。
0500デフォルトの名無しさんNGNG
インテルのコンパイラがあったら楽しかったでしょうね・・・
0501デフォルトの名無しさんNGNG
VC=ビタミンC
VC++=ビタミンC++
0502デフォルトの名無しさんNGNG
(゚Д゚)ハァ?
0503デフォルトの名無しさんNGNG
char c;
c='C';
c++;
printf("V%c\n",c);
0504デフォルトの名無しさんNGNG
このコードを fputs("VD\n", stdout); に最適化するコンパイラはあるだろうか。
puts("VD"); とかにはなったりするだろうか?
0505デフォルトの名無しさんNGNG
新スレ立ってたりして

char *c[44] = {"C言語のことは漏れに聞け!"};
http://pc3.2ch.net/test/read.cgi/tech/1037796472/
0506デフォルトの名無しさんNGNG
>>505
それはこのスレの新スレじゃないんだよな。
どっかで合流した方がいいだろうけど。
0507デフォルトの名無しさんNGNG
深く考えるな
0508デフォルトの名無しさんNGNG
スタンスが違ってるとおもうんだけどな、こちらとあちら。
0509デフォルトの名無しさんNGNG
そうかな。
どうせ見てる人間一緒だろ。
1 のテンプレもほとんど変わらんし。

テンプレと言えば、「質問は通じる日本語で書いてくれ」 というのを追加して欲しいな。
0510デフォルトの名無しさんNGNG
違うと思ってるのはここの>>1だけだって。
0511デフォルトの名無しさんNGNG
0512デフォルトの名無しさんNGNG
最近2ちゃんねる重過ぎんだけどよ、C言語でどーにかできるようにする対処法をお教え願えると幸いなのですが何か?
0513デフォルトの名無しさんNGNG
read.cgi をオールC言語で書いたら軽くなったりするのかな?
0514デフォルトの名無しさんNGNG
すでにread.cgiはCでできてますが何か。
0515デフォルトの名無しさんNGNG
perlなのはbbs.cgiだろう
0516デフォルトの名無しさんNGNG
>>514
修行が足りません。
文末の 「何か」 には必ずクエスチョンマークをつけてください。
0517デフォルトの名無しさんNGNG
クエスチョンマークをつけると煽り厨丸出しでかっこ悪いと思います
0518デフォルトの名無しさんNGNG
そう思うのは修行が足りない証拠です。
0519デフォルトの名無しさんNGNG
>>517
どっちにしろ変わり無いだろ。
0520513NGNG
マジボケですた。すいません。逝ってきます。
0521デフォルトの名無しさんNGNG
「何か?」→「文句ある?」と言いたげで相手の態度を伺うようでガキっぽい。
「何か。」→「文句など言わせねぇ。」と言いたげで不動の信念を持ち合わせているようで漢ぽい。

よって「何か。」の勝ち。
0522デフォルトの名無しさんNGNG
そんなあなたがガキっぽい。
0523デフォルトの名無しさんNGNG
たしかに?をつけるとバカっぽいな。
0524デフォルトの名無しさんNGNG
そんなこと気にしてるやつが一番バカっぽいですが何か?
0525デフォルトの名無しさんNGNG
?が全角だからだめなんです。?を使いましょう。
0526デフォルトの名無しさんNGNG
漢なら「!?」ですが何か!?
0527デフォルトの名無しさんNGNG
今は「伺か」じゃないのでしょうか
0528デフォルトの名無しさんNGNG
というかお前ら全員ガキだな。
オレもその中の一人だけどね。
一番大人なやつは、このあふぉレスを見て、
「ガキだな」と一掃し、ほかのサイトに飛んだ香具師
0529デフォルトの名無しさんNGNG
>>528
わざわざそんな下らんことをageてまで言うお前が一番ガキであることは確かですが何か?
0530デフォルトの名無しさんNGNG
>>529
sageてる分を差し引いても、お前の方が下らない事は猿でも分かりますが何か?
0531デフォルトの名無しさんNGNG
他人を「ガキ」と言って傷つけているつもりになっている奴はガキ
大人はな「ガキ」と言われるよりも、
「 お や じ 」 と 呼 ば れ た ほ う が 傷 つ く ん だ。

良く覚えておけ。糞餓鬼共
0532デフォルトの名無しさんNGNG
>>531
はいはいおやじは士んでね?
0533デフォルトの名無しさんNGNG
>>530
必 死 だ な ( プ ー
0534デフォルトの名無しさんNGNG
このスレっていったい・・・
Cスレじゃないのかよ!
晒しage
0535デフォルトの名無しさんNGNG
>>534
スレ違いです
Cスレはこっち
http://pc3.2ch.net/test/read.cgi/tech/1037796472/
0536デフォルトの名無しさんNGNG
>>534
> Cスレじゃないのかよ!
今はcore dumpしてるだけです。
Cでは良くあることです。
0537デフォルトの名無しさんNGNG
ガベージコレクションしているのかもしれない
0538デフォルトの名無しさんNGNG
>>537
(゚Д゚)ハァ?
0539デフォルトの名無しさんNGNG
メモリリークしてるのは>>537の脳味噌だと判明しますた
0540デフォルトの名無しさんNGNG
core dumpとかガベージコレクションとかCと関係ない話すんなよ
0541デフォルトの名無しさんNGNG
固いこというな。ここはCスレのお面をかぶった糞スレだぞ。
0542デフォルトの名無しさんNGNG
core dump はギリギリ関係あるだろ
0543デフォルトの名無しさんNGNG
>>529
この期に及んでまだ「何か?」を使ってるおまえ。かっこ悪いグランプリだな。
0544デフォルトの名無しさんNGNG
>>542
はぁ? Windowsでどうやってcore dumpすんだよ。
0545デフォルトの名無しさんNGNG
>>543
いつまで引っぱるつもりだよ......グランプリとか言っちゃってるし。もー見てらんない。

>>544
なぜにWindows?
0546デフォルトの名無しさんNGNG
>>545
ほんと、グランプリとか言って馬鹿みたいだな。
むしろかっこわるいチャンピオンだよな。
0547デフォルトの名無しさんNGNG
かっこ(全米No.1)悪い
0548デフォルトの名無しさんNGNG
(悪い)
0549デフォルトの名無しさんNGNG
>>545
かっこ悪代官様だよな
0550デフォルトの名無しさんNGNG
>>544
> はぁ? Windowsでどうやってcore dumpすんだよ。
gccだと*.stackdumpというファイルが吐かれて、画面上に
「Segmentation fault (core dumped)」
出力しますが何か?
0551デフォルトの名無しさんNGNG
いつからガベージコレクションが C 関係無いことになったんだよ・・・。
0552デフォルトの名無しさんNGNG
>>550
だから環境依存だろ。
0553デフォルトの名無しさんNGNG
このスレが C に関係あるかどうかは未定義ですが何か!!
0554デフォルトの名無しさんNGNG
「だから」と言う割に>>544が的外れな罠
0555デフォルトの名無しさんNGNG
罠かどうかは環境依存
0556デフォルトの名無しさんNGNG
環境依存かどうかは未定義
0557デフォルトの名無しさんNGNG
未定義かどうかは不定
0558デフォルトの名無しさんNGNG
ここは FORTRAN を語るスレになりますた。
0559デフォルトの名無しさんNGNG
FORTRAN は超糞言語
0560デフォルトの名無しさんNGNG
0561WarezNGNG
sageで書き続けてるやつってthread bookmark shitennnoka?
0562デフォルトの名無しさんNGNG
ヴァカ561は放置
0563デフォルトの名無しさんNGNG
割れ厨は放置!!!
0564デフォルトの名無しさんNGNG
VCでDLLファイルを作成しますた。
開発したXP上では動きますが、2000上では動きません。
ランタイムは2000に入れています。
特別な命令も使ってないです。
何故動かないか分かりません。
DLLを作って他のパソコンで動かそうとするとき何か特別なことが必要なんでしょうか?
0565デフォルトの名無しさんNGNG
>>564
VC.netでMFCを使ったとか
0566デフォルトの名無しさんNGNG
>>565
VC ver6です。
0567デフォルトの名無しさんNGNG
>>565
ちなみにFMCは使ってないです。
0568デフォルトの名無しさんNGNG
>>564
何かはわからんが99.9%君の作り方がおかしいから安心しろ。
その2000のマシンでデバッグするか開発したマシンに2000インストールしてデバッグしろ。
0569デフォルトの名無しさんNGNG
>>568
みもふたもありませんな。w
0570デフォルトの名無しさんNGNG
>>569
だってな〜、どんな風に動かないかもわからんし。
0571デフォルトの名無しさんNGNG
てかVC++スレ逝けや
0572デフォルトの名無しさんNGNG
GUIとか、C標準でできない事の質問は使ってる開発環境のスレに行ってください。
上記を守らない書き込みをした場合、その結果は激しく未定義とします。
0573デフォルトの名無しさんNGNG
C関連の書籍って裏本なの?
0574デフォルトの名無しさんNGNG
ソースコード読んでたらexit関数の引数に98ってのがありました。K&Rで調べましたがのってません。
おしえてくらさい。
0575デフォルトの名無しさんNGNG
>>574
何のソースを読んでいたの? 普通はEXIT_FAILUREかEXIT_SUCCESSだろうけど
そのプログラムの機能として詳細なエラー情報を表すために特別な
エラー番号を返しているのかもしれない。
0576デフォルトの名無しさんNGNG
0577デフォルトの名無しさんNGNG
ああっ、もうダメッ!
ぁあ…ミサイル出るっ、ミサイル出ますうっ!!
ニッ、ニダッ、アンニョンハセヨーーーーーッッッ!!!
いやああああっっっ!!工作船見ないで、お願いぃぃぃっっっ!!!
ノドンッ!ジョンイルーーーーーーッッッ…半島ッ!
電波アアアアアアッッッッ!!!!
ハムニダああーーーーっっっ!!!テッ、テポッ、テポドォォォッッ!!!
金日成ッッ!!金正日ッッ、金正男ッッ!!!
おおっ!テポドッ!!マッ、マンッ、マンセッッ!!!テポドン見てぇっ ああっ、もうダメッ!!ハーングックーーーーっっっ!!!
忍耐イッ!限界ッ!忍耐限界忍耐ィィィィッッッッ!!!!
いやぁぁっ!金正日、こんなにいっぱいミサイル出してるゥゥッ!
謝罪ぃぃぃぃぃぃぃっっっっ!!!!賠償ォォッッ!!!
0578デフォルトの名無しさんNGNG
>>575
>>EXIT_FAILUREかEXIT_SUCCESS
これって何の標準なんですか?
exitで指定する値って終了時コードだからなにを渡してもいいのでは。
PGごとに終了コードでどんなエラーが起きたか知らせるのは普通だとおもうんだけど。
0579デフォルトの名無しさんNGNG
>>578 ANSI
0580デフォルトの名無しさんNGNG
>>578
> PGごとに終了コードでどんなエラーが起きたか知らせるのは普通だとおもうんだけど。
ログは出さないのか?
終了コードは正常、異常、警告くらいでいいんじゃないか?
98パターンも終了コードを出されても...
0581デフォルトの名無しさんNGNG
>>580
禿同
0582デフォルトの名無しさんNGNG
>>574
マルチポスト氏ね
0583デフォルトの名無しさんNGNG
麻奈本で独習中ですがどうしてもfor文の意味がわかりません。
何故あのコードで(コードは省略)
1〜変数までの合計の数値が出るのですか?

詳しく教えてください。
0584デフォルトの名無しさんNGNG
for (x; y; z) a;
まずxを実行。
yを判定。偽になったら終了。
aを実行。
zを実行。
yを判定。偽になったら終了。
・
・
・
0585デフォルトの名無しさんNGNG
何を作っているのかがわからんってことか?

そりゃそうだろな
「Cはソフトウェアの開発に使う道具」とか聞かされてても
NAVやギコナビと Hello world はどう見ても別物だからな

DOSの時代はわかりやすかった
今やるならROM焼きとかやってみた方が
何を作っているのかの実感持てそうに思える
0586デフォルトの名無しさんNGNG
何言ってんの?こいつ
0587デフォルトの名無しさんNGNG
割り算の計算をするプログラムを作ってるんですが
割り切れない時は小数点以下1桁まで表示して
割り切れた時は小数点以下を表示しないようにするにはどう書けばいいんでしょうか?
データ型はfloatでやってるんですがやり方が分かりません
よろしくお願いします
0588デフォルトの名無しさんNGNG
printfで%gだっけ?
0589デフォルトの名無しさんNGNG
>>586
ど初心者の質問をパースできない専門バカはすっこんでろ
0590588NGNG
一桁までしか表示しないのか・・・じゃあだめか。
0591デフォルトの名無しさんNGNG
>>587
あんたの日本語をCに直訳してみそ
0592デフォルトの名無しさんNGNG
>>587
具体的にどこで詰まってるんだ?
割り切れるかどうかの判定方法がわからない?
表示方法がわからない?
0593デフォルトの名無しさんNGNG
>>587
printf("%g\n",x/y);
0594デフォルトの名無しさんNGNG
>>593
xが2、yが8の場合、うまくゆく?
0595594NGNG
2じゃなくて2.0
8じゃなくて8.0
0596587NGNG
>>592
#include <stdio.h>
main()
{
float x,y,z;
printf("x=");scanf("%f",&x);
printf("y=");scanf("%f",&y);
z = x / y;
printf("%f\n",z);
}

こんな感じです
表示方法が分かりません
0597デフォルトの名無しさんNGNG
>>593
それだと小数点第二位以下も表示されてしまうだろ。
0598デフォルトの名無しさんNGNG
%2f
0599デフォルトの名無しさんNGNG
>>596
小数点以下第二位を四捨五入してもいいならprintf("%.1g\n",x/y);
0600596NGNG
>>599
xとyのデータ型はfloatのままでは駄目なんでしょうか?
割り切れなかった時小数点以下が表示できなかったんですが
0601デフォルトの名無しさんNGNG
#include <math.h>

printf("%.*f\n", fmod(x, y)? 1: 0, x / y);

あと、巨大配列とかでサイズを小さくしたいというニーズがない限り、double を
使った方がいい。
float を内部的に double に変換しないで float のまま計算する処理系は見た事
が無い。
0602デフォルトの名無しさんNGNG
もうちょっと判定を曖昧にしようか。

#include <math.h>
#include <float.h>

printf("%.*f\n", fabs(fmod(x, y)) >= DBL_EPSILON, x / y);
0603デフォルトの名無しさんNGNG
x86はしらんが、RISCだとfloat同士の演算はfloatのままやるよ。

0604デフォルトの名無しさんNGNG
>>603
そうか、ありがとう。
その場合はそのままの方が速いのかな。

ところで、
http://pc3.2ch.net/test/read.cgi/tech/1036572120/435-
これよりももっとエレガントで DQN な回答はある?
0605デフォルトの名無しさんNGNG
しまった、"出力例" を出力していないぞ。
0606デフォルトの名無しさんNGNG
0607デフォルトの名無しさんNGNG
これ 今 問題 だされ 苦戦 しトる
解いて 臭い
 AB    50
 AB だと 50こう、でわ  ABCDBE  わ?
+ AB   +50      +ABCDBE
CAB   150       FGHBAI
0608デフォルトの名無しさんNGNG
解 1
478371
478371
956742

解 2
476871
476871
953742

解 3
154756
154756
309512

解 4
154758
154758
309516
0609デフォルトの名無しさんNGNG
>>608
(゜Д゜)ポカーン…
0610WarezNGNG
>607
問題が分からん・・.なぞなぞですか?
0611デフォルトの名無しさんNGNG
>>607
日本語の勉強を先にしてくれ。
0612デフォルトの名無しさんNGNG
>>607
半島に(・∀・)カエレ!!
0613デフォルトの名無しさんNGNG
覆面算だと思われ。
0614デフォルトの名無しさんNGNG
>>603
しないよ。

floatのまま計算したらdoubleで演算した結果と異なる場合があるから、
doubleと精度が一緒じゃない限りdoubleで演算することはできない。
0615デフォルトの名無しさんNGNG
>>609-612多少パズルと齧った事がある奴は見た事あるだろ。アホ過ぎ(嘲藁
0616デフォルトの名無しさんNGNG
>>615
お前は電波受信良杉(藁
漏れも式があと半キャラでもずれてたら何書いてるかわからんかった
0617デフォルトの名無しさんNGNG
>>615
ネタにマジレスしてるお前が一番アホ。
0618デフォルトの名無しさんNGNG
>>614
違う。必ずdoubleにしてたのはK&Rの時代の話だ。
今は演算子の両方のオペランドがfloatなら、型変換は起きない。
(ISO/IEC 9899:1999, 6.3.1.8)
0619デフォルトの名無しさんNGNG
0620デフォルトの名無しさんNGNG
0621デフォルトの名無しさんNGNG
614 と 618 が、それぞれポインタの先の何を否定してるのかいまいちわからない。
0622618=603NGNG
>>621
うー、なんか変なこと言ったかな。
確かに>>601のプログラムだと結局最後はdoubleになっちゃうんだけれども。
fmodやprintfに渡すときにね。でもx/yの除算はfloatのまま行われるよね。

>>602は、「どうせ必ずdoubleで演算されるんだから、変数はdoubleで宣言
しなさい。floatにしても速度は速くならない。」と言ってるのだと思った。
だから、それに反論してみた。
0623デフォルトの名無しさんNGNG
>618

すると、fpuはどうなる?
0624デフォルトの名無しさんNGNG
>>623
どうなる、とは?
single precision演算命令のほうが、
一般にはdouble precision演算より速いと思うが...
0625デフォルトの名無しさんNGNG
>>622
言いたい事はわかったし、622 の内容はおそらく間違っていない。

しかし、あんたと 614 はポインタを正しく設定してくれ。
もしくは正しい議論をしてくれ。


まず 603 は、単に 「float 同士の演算は float のままやる」 と述べている。

614 はそれに対して、「演算結果が変わる可能性があるから float を double では演算
する事ができない」 と述べている。
正論だが、603 に対して 「しないよ」 というには頓珍漢だ。

618 では更にそれに対し、「float を内部的に double に変換したのは古い話で、今は
float 同士の演算は float のまま行われている」 と述べている。
これも正しいのだが、やっぱり 614 に対して 「違う」 というには頓珍漢だ。

この頓珍漢なありさまを見て、621 では 「何を否定してるのかわからない」 と述べた。

614 は 603 ではなく 601 を指したかったのか?

あと、622 が 602 を指している意味もわからない。
602 は浮動小数点数の判定が厳し過ぎないように epsilon を設定ているだけだ。
0626デフォルトの名無しさんNGNG
「x/yの除算はfloatのまま行われるよね」
という文は、
「single precision演算命令のほうが、一般にはdouble precision演算より速い」
と同じくらい、処理系依存な話。

たとえば、80x87。
0627デフォルトの名無しさんNGNG
doubleよりもfloatを使った方がよい場合ってどんな場合?
巨大な配列を作る場合?
0628デフォルトの名無しさんNGNG
>>627
精度を落として動作をおかしくしたい場合。
0629デフォルトの名無しさんNGNG
スレッドを作るときに以下のようにした場合、
スレッドでコピーされる前に参照値が無くなっているということはありえますか?
void MyCreateThread(char*str){
htread = _beginthread(ThreadProc,0,(void*)str);
}

void ThreadProc(void*user){
char str[256];
strcpy(str,user);

なんかおかしなことを言っているかもしれません
0630デフォルトの名無しさんNGNG
あ、間違えました。元のstrの問題ですね。多分。
言いたかったのは↓こういうことで、でもこれは無くなっていそうですね。
void MyCreateThread(){
char str[256];
strcpy(str,"hogehoge");
htread = _beginthread(ThreadProc,0,(void*)str);
}
0631デフォルトの名無しさんNGNG
C標準でできない事の質問は使ってる開発環境のスレに行ってください。
0632通りすがりNGNG
>>630
それは大丈夫。引数は元スレッドのスタックを指しているから。
ただ新しいスレッドがstrの参照を完了するまで元スレッドは
スタックの内容を解放してはいけない。だから
MyCreateThread()の_beginthreadの後に同期を入れること。
そうしないとSMPでバグると思われ。
0633デフォルトの名無しさんNGNG
>>632
嘘教えるなよ。だめだめじゃん
0634デフォルトの名無しさんNGNG
>>632
つまり、スレッドが終了するまでMyCreateThread()から
抜けられないって事だな・・。
バッカじゃねーの。
0635633NGNG
>>632 , 634
そういう問題じゃないだろ。
スタックをどうやって同期とるってんだ。
630の書き方だと、ThreadProcをただの関数にするかメモリを動的に確保してスレッドに渡して、スレッド側で開放するようにしてもらう以外ないだろう。
staticにしといてもいいけど、MyCreateThreadを連続して呼べば問題が起こる可能性がある。
0636デフォルトの名無しさんNGNG
>>633=635
どうでもいいが、暑いよ
スレッド技法をよく知らないなら、もう少し勉強しておいで(ワラ
0637デフォルトの名無しさんNGNG
>>634
>つまり、スレッドが終了するまでMyCreateThread()から
>抜けられないって事だな・・。

ちがう。君もよく勉強してからつっこめよ・・。
0638よんだ?NGNG
( ´,_ゝ`)プッ
0639デフォルトの名無しさんNGNG
おまえらバカじゃないのか?ほんと自分は出来る風ですか?
ほんとにバカ、オメーラ、みんな、ネット荒らしとどこが違うんだ!?
ほんとな、おまえらはみんな、ここに来る資格ねーな!!
デフォルトの名無しさんだっけ!!おまえしね!!人が頼んでるってのに何が
あやしいっておまえみたいのがいるから日本がだめになるんだ!!
分かったバーカ!!もう荒らしでも何でもいいよ!!
オメーラみたいなバカどもにつき合ってもしかたないから!!
あんたらみたいのはもうこのよにもいらない !!
 
0640デフォルトの名無しさんNGNG
そもそも>>1を守らないやつに答えるのが間違い。
まあ未定義だから答えてもいいんだろうが。
0641633NGNG
>>636
どこが間違えているか具体的にいいなよ。
0642デフォルトの名無しさんNGNG
ヤッタァァァァァァァァァァァァァァァァァァァァ
初めて2をゲットしたぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ!!
うひゃひゃひゃひゃひゃひゃひゃひゃひゃひゃひゃ。
ウレシイなあァァァァァァァァァァァァァァアアアアア!!!!
0643デフォルトの名無しさんNGNG
>>641
なんか悔しかったから適当に反論したかっただけでしょ、>>636 は。
0644デフォルトの名無しさんNGNG
>>643
636は嫌味。633は尊大喧嘩口調。
リアルならどっちも付き合いたくないね
0645デフォルトの名無しさんNGNG
>たとえば、80x87。

何が言いたいんだろう?たしかに
80x87みたいに、勝手にextended precisionで演算されちゃうのもあるから、
そういう意味では処理系に依存する話だね。ここでの要点は、「昔と違って
必ずdoubleに変換しなくても良くなった」と言う点。「必ずdouble」の否定は
「常にfloat」じゃないから、その意味で622の書き方はおかしかったかも。

規格では「必要な精度より長い精度を使って演算結果を表現しても良い」
となっている。

で、floatで演算する利点を理解できない厨がいるみたいだが、
実際にlinpackでもNPBでもやってみれば分るが、大規模な科学技術計算を
floatでやれば、doubleで行った場合より一般には速くなる。たとえ80x87
のレガシーなFPUを使っていても。なぜなら、こういうnumber crunchingで
はメモリのバンド幅がボトルネックになるから。

で、当然だが数値計算屋は「なんでもかんでもdouble」で計算したりする
ことはない。必要な精度がfloatで得られるときに、わざわざ遅くするのは
ばかげているから。CのFP演算が「なんでもdouble」から「必要ならdouble
に変換」に変わったのは、数値計算屋の強い要求。
0646デフォルトの名無しさんNGNG
>何が言いたいんだろう?

>「必ずdouble」の否定は
>「常にfloat」じゃないから、その意味で622の書き方はおかしかったかも。

俺はまさにこれが言いたかった。つまり、

>でもx/yの除算はfloatのまま行われる
かもしれないし、そうでないかもしれない。

それだけ。
0647デフォルトの名無しさんNGNG
>>646
了解。
「でもx/yの除算は必ずdoubleで行われるわけではない」と書くべきですた。
0648デフォルトの名無しさんNGNG
配列の中で最大の値を持つ、要素の配列番号を返すような関数はありますか?

つまり、
a[0] = 1;
a[1] = 5;
a[2] = 3;
a[4] = 7;
a[5] = 3;
なら4を返すような関数が有りましたら教えて下さい。

無い場合はどうしたらいいのかをおしえてください 。
0649manko_chinko ◆GLc2rpKRNM NGNG
>>648
>無い場合はどうしたらいいのかをおしえてください 。
自分で関数を作る
0650デフォルトの名無しさんNGNG
int ret_max_i(〜){
max=a[0];max_i=0;
for(i=1; i<sizeof(a)/sizeof(a[0]); i++){
if(max<a[i]){
max=a[i];
max_i=i;
}
}
return i;
}
0651650だがNGNG
3が抜けてることに気付かなかった・・・どうしよっか
0652デフォルトの名無しさんNGNG
int main(void)
{

int node[MAXNODE][3] = { { 4, 1, 2 },
{ 3, 0, 1 },
{ 1, 0, 1 },
{ 2, 0, 1 },
{ 1, 2, 1 } };
}
0653デフォルトの名無しさんNGNG
>>635
> そういう問題じゃないだろ。
> スタックをどうやって同期とるってんだ。

ア、アホでつか?
もしかしてスタックが新しいスレッドと共有される
と思ってるとか?
0654デフォルトの名無しさんNGNG
652
です。
652のソースでコンパイルを行うと

syntax error before `int'

といわれます。
どこがおかしいのでしょうか?
0655デフォルトの名無しさんNGNG
MAXNODEはenumでちゃんといれています
0656デフォルトの名無しさんNGNG
>>648
qsortでソートすれば最後の要素が(以下略
0657デフォルトの名無しさんNGNG
>>654
652 にはエラーの原因となりそうなものはないです。
ちゃんとエラーが出た前後のソースもコピペしましょう。
0658デフォルトの名無しさんNGNG
>>657
有難う御座います。
では、お言葉に甘えてソースもうちょい張らせて頂きます。
#include <unistd.h>
#include <stdio.h>
#include <signal.h>
#include<stdlib.h>
enum {
MAXNODE = 5 /* ネットワーク内のノード数*/
};
int main(void)
{
int i,select_node,select_resource,MAXSIM,maxresource,best;
double ret,c[MAXNODE],D,B[i],selection[MAXNODE];
double resource[3] = { 11.0, 3.0, 6.0 };
c[0] = 7/20;c[1] = 4/20;c[2] = 2/20;c[3] = 3/20;c[4] = 4/20;
double node[MAXNODE][3] = { { 4.0, 1.0, 2.0 },
{ 3.0, 0.0, 1.0 },
{ 1.0, 0.0, 1.0 },
{ 2.0, 0.0, 1.0 },
{ 1.0, 2.0, 1.0 } };
maxresource = 20; /*初期リソースの最大値*/
scanf( "%d", MAXSIM );
0659デフォルトの名無しさんNGNG
for( i = 1 ; i < MAXSIM ; i++){
select_node = randselect(MAXNODE);
select_resource = randselect(3);
if(select_resource == 0){
D = resource[0]/(double)maxresource;}
else if(select_resource == 1){
D = resource[1]/(double)maxresource;}
else if(select_resource == 2){
D = resource[2]/(double)maxresource;}
ret = 0.0;
for(i=0; i<MAXNODE ;i++){
for(i=0;i<100;i++){
ret+=(double)(rand()%1);
ret-=(double)(rand()%1);
}
ret=ret/100+0.5;
B[i] = ret;
selection[i] = (( node[i][select_resource] / resource[select_resource] ) * c[i]) / ( D * B[i]);}
selection[node] = 0.0;
best = ret_max_i(selection);
printf( "BEST NODE IS H%d\n", best++);
if(select_resource == 0){
resource[0] = resource[0] + 1.0;}
else if(select_resource == 1){
resource[1] = resource[1] + 1.0;}
else if(select_resource ==2){
resource[2] = resource[2] + 1.0;}
maxresource++;
node[select_node][select_resource] = node[select_node][select_resource] + 1.0;
}
}
0660654 NGNG
>>658-659
がメインな部分であります。
0661654 NGNG
すみません、エラー内容をはるのをわすれました。
コピペの時にちょっといじったので、行数と一致していません。
(本文が長すぎるとか、改行多すぎるとかいわれたので)

simulation.c: In function `main':
simulation.c:26: syntax error before `double'
simulation.c:67: `node' undeclared (first use in this function)
simulation.c:67: (Each undeclared identifier is reported only once
simulation.c:67: for each function it appears in.)
0662654 NGNG
すみません、エラー内容をはるのをわすれました。
コピペの時にちょっといじったので、行数と一致していません。
(本文が長すぎるとか、改行多すぎるとかいわれたので)

simulation.c: In function `main':
simulation.c:26: syntax error before `double'
simulation.c:67: `node' undeclared (first use in this function)
simulation.c:67: (Each undeclared identifier is reported only once
simulation.c:67: for each function it appears in.)

エラーの場所は、
double node[MAXNODE][3] = { { 4.0, 1.0, 2.0 },
{ 3.0, 0.0, 1.0 },
{ 1.0, 0.0, 1.0 },
{ 2.0, 0.0, 1.0 },
{ 1.0, 2.0, 1.0 } };
の部分で指摘されます
0663654 NGNG
投稿失敗ごめんなさい。
0664素朴な質問NGNG
関数の戻り値にstaticを宣言するのと、しないのとでは何が変わるの?
どなたか教えて下さい。

例)
static int func(){...}

int func(){...}
0665デフォルトの名無しさんNGNG
>>658
> double resource[3] = { 11.0, 3.0, 6.0 };
> c[0] = 7/20;c[1] = 4/20;c[2] = 2/20;c[3] = 3/20;c[4] = 4/20;
こっちの最初の行のセミコロンじゃないの?
0666665NGNG
すまん大ボケでした。変数宣言内での代入の問題だけじゃないですね。
0667デフォルトの名無しさんNGNG
>>664
staticつけると他の関数から参照できないとかそんなんじゃなかったっけ?
0668デフォルトの名無しさんNGNG
>>667
s/関数/ファイル/ では?
0669 NGNG
>>664
>>667

他のファイルの関数から参照できないです。
staticてのはメモリの使い方だと思うけどよくわかりません
意味合いとしてはprivateに近いと思います。
他の関数から参照できない関数は永久に使われないです。
0670669NGNG
>>668

被った鬱打
0671デフォルトの名無しさんNGNG
>>664
素朴な質問というより低レベル/初心者/厨房の質問だな。
ヘルプ見れや。
0672カウパーが止まらないNGNG
文字を引数にしたらASCIIが返ってくる関数があることはわかるのですが、
ASCIIを入れたら文字が返ってくる関数はありますか?
0673manko_chinko ◆GLc2rpKRNM NGNG
>>672
寝言ですか?
0674デフォルトの名無しさんNGNG
>>672
int char_to_ascii(char ch)
{ return ch; }

char int_to_ascii(int ascii)
{ return (char)ascii; }
0675デフォルトの名無しさんNGNG
EBCDICの処理系が〜とか寝言言ってみる
0676デフォルトの名無しさんNGNG
>654
僕のBorland C++ Compilerではerrorsが3つでた.

1つは,unistd.hが開けないとかいうやつで,これはまあいいとして,後の2つは

配列Bの宣言 B[i] <- iが定数でない.
配列nodeの宣言 <- 命令(配列cの要素への代入)の後に宣言はかけない.
0677デフォルトの名無しさんNGNG
>>674
何の意味があんの?これ
0678デフォルトの名無しさんNGNG
>>674
int_to_ascii() の方だけだけキャストしてるのは、どういう意味合いを込めてるの?
0679カウパーが止まらない NGNG
>>677
>>678
僕が一番聞きたいです
0680デフォルトの名無しさんNGNG
>>674
unsigned つけとけ
0681 NGNG
>>679
お前の質問が意味わからんことにきづけよ


0682デフォルトの名無しさんNGNG
ものすごい勢いでダメ出しされてるネタの返し
0683デフォルトの名無しさんNGNG
いや、簡潔に言うと

printf("%d\n",toascii(getch()));

これでキーボードをどっか押すとASCIIが出力されるわけね。
これの逆バージョンみたいな感じのが知りたいのね。
0684デフォルトの名無しさんNGNG
文字入力に対して数値を出したいの?
数値入力に対して文字を出したいの?
両方?
0685デフォルトの名無しさんNGNG
ASCIIにこだわるな!
0686デフォルトの名無しさんNGNG
>>685
アメリカは糞ってことか。
0687デフォルトの名無しさんNGNG
むしろ西が(ry
0688デフォルトの名無しさんNGNG
同意
0689デフォルトの名無しさんNGNG
>>683
>これでキーボードをどっか押すとASCIIが出力されるわけね。
>これの逆バージョンみたいな感じのが知りたいのね。
翻訳すると、
「ASCIIを入力するとキーボードが押されるような関数ある?」
0690デフォルトの名無しさんNGNG
たぶん、こいつも「文字型」と「整数」がまったく別物だと
思ってる、Cに不慣れな人間の一人なのだろう。

Cでは「整数型」の一種として「文字型」があるって知ってたか? >>683
0691683NGNG
>690 マジかよ! ある意味Cはスゲー
0692デフォルトの名無しさんNGNG
char c='d';
int i=64;
printf("%d %d\n",c,i);
printf("%c %c\n",c,i);
とか、やってみそ。(64が適当かどうかちょっと分からんが)
0693 NGNG
>>683
話の流れはよくわからんがやりたいことは
なんとなくわかった。
おおまかにいうとこういうことか?

char str[1024];
int c;

/* 0-127を入力(8bitの場合は 0-255) */
gets(str);
c = atoi(str);
/* 対応する文字を出力 */
putchar(c);
putchar('\n');
0694デフォルトの名無しさんNGNG
ASCII じゃなくて、ASCII コードと言いたいんだろ。
0695693NGNG
>>694
ASCIIコードを文字列で入力して、
対応する文字を表示したいと思われる。

でも漏れの解釈だと、

〉printf("%d\n",toascii(getch()));
は
printf("%d\n",getch());
で十分な気がしてきた。
toasciiってなんだ?
0696デフォルトの名無しさんNGNG
>>695
MS 処理系依存。
低レベルでスキャンしてきたキーボードの値を getchar() の戻り値と同じにする。
その逆の方法なんて知るかい。
0697デフォルトの名無しさんNGNG
>>696 は正しいんだけど、>>683はたぶん
「getch()は文字を返す」
「toascii()は文字をASCIIコードの数値に変換する」
と思ってたので輪。
0698デフォルトの名無しさんNGNG
しかし、MSDN の __toascii() のサンプルに __toascii() が出てこないのは
どういうこっちゃ。
0699デフォルトの名無しさんNGNG
cか或いはc++でもいいんですが

for文やif文の多重ループから一気に抜け出す
コマンドか関数ってありませんか?
0700デフォルトの名無しさんNGNG
goto
0701デフォルトの名無しさんNGNG
>>700
やはりgotoを使わないといけませんか・・
ありがとうございました
0702デフォルトの名無しさんNGNG
if文の多重ループってなんすか?
0703デフォルトの名無しさんNGNG
>>699
longjmp
return
exit
throw(C++)
0704デフォルトの名無しさんNGNG
>>699
関数からならreturn
0705デフォルトの名無しさんNGNG
>>702つまらん事にいちいち突っ込むな。
0706デフォルトの名無しさんNGNG
>>705
それ俺も思った
0707デフォルトの名無しさんNGNG
わかる方お助けください
64×64の配列をいっぱい宣言したいんですけど
ある個数を超えるとスタックエラーでてしまうんですけど
宣言できる限界ってあるんですか?
また、解決法があればお教えくださいませ。
0708デフォルトの名無しさんNGNG
>>707
限界はある。環境に依存。

解決法:
1.スタックサイズを増やす。
2.extern変数として宣言する。
3.mallocやcallocで実行時に確保する。
0709デフォルトの名無しさんNGNG
>>708
こんな遅くにご丁寧にどうもありがとうございます。
伺わせていただきたいんですけれども
環境というのは具体的に何を示すのですか?
0710708NGNG
遅くというか早くというか…

環境ってのは主にOSだが、その他コンパイラや実メモリや
スワップの空き領域などによって、スタックサイズのデフォルトや
上限が決まる。
0711707NGNG
>>708
今までスタックサイズを気にしない程度のPGしかやっていなかったんで
まいりました。
extern変数で宣言したらエラーが出たんですけど
グローバル変数にしてみたら稼動しました。
どうもありがとうございました。
0712デフォルトの名無しさんNGNG
>>711
関数の外でstaticをつけずに宣言した変数は
externと言ふのだよ…

まー、別にstatic変数でもいいはずだがナー。
0713707NGNG
>>712
勉強になります。
本当にどうもありがとうございました。
0714デフォルトの名無しさんNGNG
今度は、ヒープを食いつぶしたりして(w
0715デフォルトの名無しさんNGNG
ヒープを食いつぶす?
グローバル変数が?
0716デフォルトの名無しさんNGNG
>>714
馬鹿か。ヒープを食いつぶすってどういう意味だ?
0717デフォルトの名無しさんNGNG
Cスレはスレッドもヒープも知らん奴が大口を叩ける場所なんだナ。
0718デフォルトの名無しさんNGNG
>>717
スレッドはC標準じゃないぞ
規格書を百回読んでから来い アホが
0719デフォルトの名無しさんNGNG
calloc は,メモリヒープへのアクセスを提供します。このヒープは,
可変長のメモリブロックで動的に割り当てるために使います。*1

*1:'TURBO C++ FOR WINDOWS Version 3.1'より抜粋
0720デフォルトの名無しさんNGNG
>>718
ハァ? スレッドすら知らないレベルでも大口叩けるってことだボォケ
規格書を何度も読み返してる暇があったら、知らない技術を学べやブタ
0721 NGNG
以下のようなプログラムを組みました。
一番外のforループで、毎回乱数を繰り返し発生させたいのですが、
その乱数の値が毎回同じ値になってしまいます。
これを毎回ランダムな値に入れ替える方法は無いでしょうか?
よろしくお願いします。
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
main()
{
int x, i, j;
for(j = 1; j < 5; j++){
srand((unsigned int)time(NULL));
printf("電子さいころです。\n");
for(i = 1; i < 5; i++){
x = rand() % 6 + 1;
printf(" %d 回目は %d が出ました。\n", i, x);
}
}
}

0722 711NGNG
今のままでは、毎回いかのような結果になってしまいます。
$ ./a.out
電子さいころです。
1 回目は 3 が出ました。
2 回目は 6 が出ました。
3 回目は 3 が出ました。
4 回目は 4 が出ました。
電子さいころです。
1 回目は 3 が出ました。
2 回目は 6 が出ました。
3 回目は 3 が出ました。
4 回目は 4 が出ました。
電子さいころです。
1 回目は 3 が出ました。
2 回目は 6 が出ました。
3 回目は 3 が出ました。
4 回目は 4 が出ました。
電子さいころです。
1 回目は 3 が出ました。
2 回目は 6 が出ました。
3 回目は 3 が出ました。
4 回目は 4 が出ました。

こうならないようにしたいのです。
0723 711NGNG
自己解決しました。
有難う御座います
0724デフォルトの名無しさんNGNG
ここはひどいスレッドですね
0725デフォルトの名無しさんNGNG
超アフォな質問済みませんが
constとstaticってなんでしょうか?
静的とか初期化とか装飾しなどの専門用語を使わず
具体的に説明してほしいのですが、
どう?
それと>>721はjをsrandに何かしら加えれば良いんじゃないでしょうか?
0726デフォルトの名無しさんNGNG
>>725
初心者本でも買って読んでろ。
0727デフォルトの名無しさんNGNG
>>715
グローバル変数ってヒープに領域がとられるの?
0728デフォルトの名無しさんNGNG
初心者の皆さんすいません。
午前中はレベルの高い人は寝ています。
皆さんの質問にちゃんと答えられる人はいません。
0729デフォルトの名無しさんNGNG
レベルの高い人は2chに書き込みなんかしません。
0730デフォルトの名無しさんNGNG
>>728
起きてますよ(^^)/
0731デフォルトの名無しさんNGNG
>>725
constをつけて宣言されたデータは、内容を書き換えることができない。
また、コンパイラや読む人に、こういうデータは値が変わらないんだとわかる。

staticには大きく分けて2つ意味がある。
staticなデータは、プログラムが開始したときから終了したときまで
メモリの同じ位置に割り当てられている。
staticな関数は、同じソースファイルの中からは名前を参照できるが、
ソースファイルの外から名前を参照できない。
0732715NGNG
>>727
漏れに訊くな。
714 に訊け。
0733デフォルトの名無しさんNGNG
>>728
漏れはもう寝ます。
0734デフォルトの名無しさんNGNG
>それと>>721はjをsrandに何かしら加えれば良いんじゃないでしょうか?

srandをfor文より前に出せばよい。
0735デフォルトの名無しさんNGNG
>>731
50点ってとこか
0736731NGNG
>>735
てめー、自分じゃ答えられなかったくせに
偉そうに批評してんじゃねえ!
プンプン
0737デフォルトの名無しさんNGNG
>>720
>ハァ? スレッドすら知らないレベルでも大口叩けるってことだボォケ
>規格書を何度も読み返してる暇があったら、知らない技術を学べやブタ

1をロクに読まない >>720 は蛆虫に劣るクズボケだろが
誰でも知ってるスレッドぐらいで大口叩くアフォ は二度と来るな シネヤ ウジムシ
0738デフォルトの名無しさんNGNG
>>737
気持ちはわかるが、720 は正しい。
スレッドを知らなくてもこのスレでは大口を叩けるという点と、
スレッドを知らないより知っていた方がいいという点で。
C 規格書はこの際関係無い。
0739デフォルトの名無しさんNGNG
>>737
スレッドは関係ないボケェ
には激しく同意するがヨソでヤレ

っつーか何で環境依存は別スレだって言うのに
スレッドスレッド言うのか全く不明だが
0740デフォルトの名無しさんNGNG
>>738
Cを熟知してるなら大口叩いても無問題。
だいたいスレッドは環境依存度が激しくて
知ってるかどうかなんてCには無関係。環境依存のスレッドを無理矢理絡めるなよ。
0741デフォルトの名無しさんNGNG
#include<stdio.h>

main()
{
char* hoge[]={"piyo","piyo_2"};

printf("%s\n",hoge);
printf("%s\n",hoge+1);
}
なぜちゃんと出力されない?詳細キボンヌ
0742デフォルトの名無しさんNGNG
>>741
hoge → hoge[0]
hoge+1 → hoge[1]
終了
0743デフォルトの名無しさんNGNG
>>742
何が間違ってるか、じゃなくてなぜちゃんと出力されない、だろ。
0744デフォルトの名無しさんNGNG
しかし、どうして必要無いのにポインタに対して加減算をしたがる人が居るのだろう・・・。
悪書が出まわってる予感。
0745741ポインタ完全制覇を読破したヤシに質問。NGNG
>>743
全くその通り。

式の中では、配列が配列の先頭を指すポインタ変数に成り下がるように、
ポインタ配列もポインタ配列の先頭を指すポインタ変数に成り下がるよな?
0746デフォルトの名無しさんNGNG
>>745
1から勉強し直せとしか言いようがない。
0747デフォルトの名無しさんNGNG
ああ、
ワカタ!

なぜこのスレで質問しても
答えられる人間がほとんどいないかというと、
このスレがニセCスレだからだネ!

本物はこちら
http://pc3.2ch.net/test/read.cgi/tech/1037796472/l50
0748デフォルトの名無しさんNGNG
>>745
piyo
piyo_2
と出力されないってことだろ?
間接参照していないからじゃん。
0749デフォルトの名無しさんNGNG
#include<stdio.h>

main()
{
char* hoge[]={"piyo","piyo_2"};

printf("%s\n",hoge);
printf("%s\n",hoge+1);
}
なぜ>>741はちゃんと出力されると思ったの?詳細キボンヌ
0750デフォルトの名無しさんNGNG
ここのスレの住人低レベル過ぎ。
0751デフォルトの名無しさんNGNG
age
0752デフォルトの名無しさんNGNG
>>750
ニセスレですから。
本物は↓

char *c[44] = {"C言語のことは漏れに聞け!"};
http://pc3.2ch.net/test/read.cgi/tech/1037796472/l50
0753デフォルトの名無しさんNGNG
>>752=http://pc3.2ch.net/test/read.cgi/tech/1037796472/の1

必死だな
0754デフォルトの名無しさんNGNG
>>745
成り下がるよ。
hoge の先頭アドレスを指すポインタにね。

で、「hoge の先頭アドレス」 がどこだかわかる?

    ┏━━━┯━━━┓
hoge┃char**.│char**.┃
    ┗━┯━┷━┯━┛            ┌─┬─┬─┬─┬─┐
.      │     └→.どっかのメモリ領域1│'p'│'i' │'y'.│'o'│'\n'│
.      │                     └─┴─┴─┴─┴─┘
.      │                     ┌─┬─┬─┬─┬─┬─┬─┐
.      └────→.どっかのメモリ領域2.│'p'│'i' .│'y'.│'o'│'_' │'2'│'\n'│
                            .└─┴─┴─┴─┴─┴─┴─┘
0755754NGNG
逆だった Σ(゚д゚lll)ガーン
0756754NGNG
しかも hoge の中身は char** じゃなかった・・・吊ってくる。
0757デフォルトの名無しさんNGNG
>>755
    ┏━━━┯━━━┓
hoge┃char*.│char*.┃
    ┗━┯━┷━┯━┛

こうだろ?
0758757NGNG
修正済みだった・・・吊ってくる。
0759デフォルトの名無しさんNGNG
>>754
文字列の終端は'\0'
0760デフォルトの名無しさんNGNG
>>741=745=747=750=751=752=http://pc3.2ch.net/test/read.cgi/tech/1037796472/の1=ツリ師
0761754NGNG
打つし
0762デフォルトの名無しさんNGNG
レベル低っ!
0763754NGNG
めげずに書き直し。

>>745
成り下がるよ。
hoge の先頭アドレスを指すポインタにね。

で、「hoge の先頭アドレス」 がどこだかわかる?

    ┏━━━┯━━━┓
hoge┃ char *│char * ┃
    ┗━┯━┷━┯━┛           ..┌─┬─┬─┬─┬─┬─┬─┐
.      │     └→.どっかのメモリ領域2│'p'│'i' .│'y'.│'o'│'_' │'2'│'\0'│
.      │                     └─┴─┴─┴─┴─┴─┴─┘
.      │                    .┌─┬─┬─┬─┬─┐
.      └────→.どっかのメモリ領域1│'p'│'i' │'y'.│'o'│'\0'│
                            └─┴─┴─┴─┴─┘
0764デフォルトの名無しさんNGNG
http://24honlinecasino.fc2web.com/

0765デフォルトの名無しさんNGNG
>>721
>int x, i, j;
>>>>time_t t;
>for(j = 1; j < 5; j++){
>>>>srand((unsigned int)time(&t));

としたら、どうなんだい?
0766デフォルトの名無しさんNGNG
>>765
srand() を 1 つのインスタンスで 2 回以上呼ぶなよ。
つーか、解決したって書いてあるだろ。何をどうしたか知らないけど。
0767デフォルトの名無しさんNGNG
C言語でhostコマンド似たような実行をするプログラムって、
どんなプログラムになるんでしょう?
よろしければ、考えてもらえますか?
0768デフォルトの名無しさんNGNG
gethostbyname呼んで、結果をprintfで出力…って他のスレでも
同じ質問見た気がするのは気のせいか?
0769デフォルトの名無しさんNGNG
マルチ萌え
0770デフォルトの名無しさんNGNG
FORTRANとCはどっちがいいんですか?
0771 NGNG
>>770
断然フォートラン
(参考)
http://www.genpaku.org/realprogrammerj.html
0772デフォルトの名無しさんNGNG
つまり、略すと断然フォートランという事ですか?
0773デフォルトの名無しさんNGNG
>>771
>本物のプログラマは Fortran を使わない。Fortran は白靴下を履いた臆病者のエンジニアや、パイプ圧フリークや、結晶解析のチビどもが使うものだ。奴らは有限要素解析と核反応炉シミュレーションで喜ぶ。
0774デフォルトの名無しさんNGNG
>>771
>教訓:本物のプログラマはふつうキーパンチャーとラインプリンタをツールとして使うが、緊急時には前面パネルと電話でこなしてしまう。
(禿藁
0775デフォルトの名無しさんNGNG
君らスレ違い。
0776デフォルトの名無しさんNGNG
#include <stdio.h>
int main(void)
{
printf("やっとコンパイルできた\n");
return 0;
}
0777デフォルトの名無しさんNGNG
( ´,_ゝ`)フーン
0778デフォルトの名無しさんNGNG

┏━━━━━┓
┃     ┃
┃     ┃
┃     ┃
┗━━━━━┛
0779デフォルトの名無しさんNGNG
( ´,_ゝ`)フーン
0780デフォルトの名無しさんNGNG
┏━━━━━┓
┃       ┃
┃       ┃
┃       ┃
┗━━━━━┛
0781デフォルトの名無しさんNGNG
( ´,_ゝ`)フーン
┏━━━━━┓
┃          ┃
┃          ┃
┃          ┃
┗━━━━━┛
0782デフォルトの名無しさんNGNG
>780 プ
┏━━━━━┓
┃          ┃
┃          ┃
┃          ┃
┗━━━━━┛
0783デフォルトの名無しさんNGNG
0784デフォルトの名無しさんNGNG
┏━━━━━┓
┃┃
┃┃
┃┃
┗━━━━━┛
0785デフォルトの名無しさんNGNG
xのy乗を求める標準の関数ってないのですか?
低の変換公式を使えばexp(y*log(x))もしくはで求まりますけど。
とかいてたら見つかった>pow
sage
0786デフォルトの名無しさんNGNG
0787デフォルトの名無しさんNGNG
..   ┏━━.pow.━━┓
..   ┃         .┃
x, y─╂→        ─╂→ x^y
..   ┃         .┃
..   ┗━━━━━━┛
0788デフォルトの名無しさんNGNG
printf で
 a = 123.4 のとき  123
 a = 12.34 のとき 12.3
 a = 1.234 のとき 1.23
と表示桁数を固定(この場合は桁数3で、aの定義域は 1<a<1000 とする)して、
その中で小数点の位置をずらして出力するような書式ってありますか?
0789デフォルトの名無しさんNGNG
>>788
GNU拡張機能かもしれないけど %g で望み通りの結果が出るかも
0790JPS ◆M0LaMzf5rY NGNG
今から3*3のまるばつゲームの対COM版をつくりまつ!
木構造でいいんでつか?
0791デフォルトの名無しさんNGNG
main(argc, argv) の引数の "argc" と "argv" の名前の由来って何なのですか?
知らなくても済む事かもしれませんが気になるので解かる方教えてください。お願いします。
0792デフォルトの名無しさんNGNG
>>790
スレ立てるまでもない逝けな。
0793デフォルトの名無しさんNGNG
c->count
v->value
0794デフォルトの名無しさんNGNG
>>791
argument countとargument vector
0795デフォルトの名無しさんNGNG
vector なん?
values かと思ってたけど。
0796デフォルトの名無しさんNGNG
vは諸説あるね。vector説やvalue説やvariable説を聞いたことがある。
V6 UNIX 付属の C tutorial (1975) のファイルにも、特に何の略だという
記述は無いのだよ。
0797デフォルトの名無しさんNGNG
諸説あるもなにも、K&Rにvectorって書いてあるじゃん
0798デフォルトの名無しさんNGNG
K&Rのvalueも有力説の一つ。最初にargvって書いた奴に聞かないと。
0799798NGNG
あ、valueじゃなくてvector。すまそ
0800デフォルトの名無しさんNGNG
variable は意味違うでしょう。
あと、実際が array であるところを見ると vector も違う気がする。
K&R ってそんなに 「正しい」 の?
0801デフォルトの名無しさんNGNG
>あと、実際が array であるところを見ると vector も違う気がする。
アフォですか?
0802デフォルトの名無しさんNGNG
>>800
ヲイヲイ、一次元の配列をvectorと呼ぶのダヨ…

>K&R ってそんなに 「正しい」 の?
まあ、Cを作って使い始めた人(のそばにいた人たち)が書いてるから。
0803デフォルトの名無しさんNGNG
どう考えてもvector以外は(英語のニュアンスとして)おかしい。
0804デフォルトの名無しさんNGNG
>>802
>まあ、Cを作って使い始めた人(のそばにいた人たち)が書いてるから。
括弧内は余計
0805デフォルトの名無しさんNGNG
>>801-802
どうしても違う気がするんだけど。
http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=vector&sw=0

>>803
argument vaules ってどういうニュアンスになるの?
0806デフォルトの名無しさんNGNG
>どうしても違う気がするんだけど。
 お ま え の 気 が 違 っ て る だ け だ
0807デフォルトの名無しさんNGNG
>>806
そうなのかも知らんが、やっぱり納得できない。
http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=array&sw=0
array ↑ と違って、明確に 「配列」 という意味が辞書に載ってない単語を、
(802 の弁によるならば) 一次元の配列に限って適用するのは何でだ?
0808デフォルトの名無しさんNGNG
だれも答えてくれんのか?

ポインタが何かを指し示している様子を指してベクトルと呼ぶならわからないでもないが、
それでも無理矢理だし、ポインタを格納しない一次元配列でもやっぱり意味不明だ。
第一、char*[] は (メモリにどう確保されているかは別として) 二次元配列と見なせる
気がしないでもない。
0809デフォルトの名無しさんNGNG
数ベクトル・・・n個の実数x1, x2, ..., xnを順序づけて並べた組を
n項数ベクトルという(藁
0810デフォルトの名無しさんNGNG
>>809
その論で逝くと、vector は入れ物ではなくて、中身の値の羅列が表現するものと
いう事になるが、そういう事なのか?
0811デフォルトの名無しさんNGNG
要するに、(数)ベクトル=配列ってことだろ。
0812デフォルトの名無しさんNGNG
何でもともと array という単語があるのに、そんな面倒な脳内変換をしなくちゃ
いかんのだ?
0813デフォルトの名無しさんNGNG
あのなー。
数学や計算機の用語が
ただの辞書に正確に載ってると思うほうがどうかしてるだろ。
そんなのを根拠に持ってくるなよ(藁
0814デフォルトの名無しさんNGNG
C99 規格書には program parameters と書いてあるな。
argv が結局何の略なのか説明していない。
0815デフォルトの名無しさんNGNG
>>813
【コンピユータ】 ってカテゴリでバンバン載ってるじゃん。
そっちこそ根拠何一つ示さないくせに何を偉そうな。
0816デフォルトの名無しさんNGNG
arrayには「一列」というニュアンスが無い。
縦か横か縦横両方か、とにかく並んだもの。
0817デフォルトの名無しさんNGNG
日本の辞書の人たちなんてねえ...

foldocくらいひいてみれば?
http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?vector
プログラミングに関して言えば「1次元の配列のこと」と書いてある。
0818デフォルトの名無しさんNGNG
Vector Typeと呼ばれる型をもつようなプログラミング言語の
仕様書を見てみろ。たとえばCommon Lispとか。

one-dimensional arrayのことだと定義されている。
0819デフォルトの名無しさんNGNG
まあ少なくともvalueやvariableはどう考えてもおかしいよな。

0820デフォルトの名無しさんNGNG
なになに、ベクタが1次元配列だと知らない香具師がいるの?
だから言っただろ、情報系の大学院くらい逝っとけって!
0821デフォルトの名無しさんNGNG
>>817-818
おおありがとう、そういう根拠が欲しかった。
それでも何で vector がそういう意味を持つようになったのか疑問が残るが、
811 のような理由と考えていいか?
つーか、方向と力量を表現する本物のベクトルとはどう区別するんだ?

>>819
理由は?
0822デフォルトの名無しさんNGNG
>>821
方向と量を表現するベクタは、スカラが1次元に並んだものだろう?
スカラといったら0次元、
ベクタといったら1次元、
matrixといったら2次元だし、tensorといったら3次元だ。
0823デフォルトの名無しさんNGNG
>>821
>つーか、方向と力量を表現する本物のベクトルとはどう区別するんだ?
文系の方ですか?
0824デフォルトの名無しさんNGNG
argcだってvariableだしvalueを持ってるよ。
変数名に「変数」とか「値」なんて情報量の無い名前を付けるのは
おかしいだろ? あれだけ短い名前で情報を伝えようと努力してるのに。
0825デフォルトの名無しさんNGNG
「本物のベクトル」ってなんだよ(藁
0826デフォルトの名無しさんNGNG
>>822
了解。

しかし、819 の理由は依然としてわからない。
0827デフォルトの名無しさんNGNG
これくらいのことは、センスのあるやつなら瞬時にわかる。
0828デフォルトの名無しさんNGNG
>>827
つまり、説明できないんだね。
よくわかった。
0829デフォルトの名無しさんNGNG
>>824がいいこと言った。
0830デフォルトの名無しさんNGNG
>>828
ものわかりのわるい文系の粘着厨房が1人いるな。
824嫁。
0831デフォルトの名無しさんNGNG
>>828は50代のリストラされかけ爺い。
0832デフォルトの名無しさんNGNG
まさに過愚師
0833デフォルトの名無しさんNGNG
>>824
「値」 の意味が違うよ。
引数の値、実体の事と言えば冗長でもないだろう。
「変数」 が冗長なのはわかる。
0834デフォルトの名無しさんNGNG
結局ネタなわけだが・・・
0835デフォルトの名無しさんNGNG
ほんとのことは作った本人しかわからない、と
0836デフォルトの名無しさんNGNG
作った本人の降臨キボンヌ
0837デフォルトの名無しさんNGNG
引数をオブジェクトとして考えた時、
 argument.count
 argument.value
は納得できるけど、
 argument.count
 argument.vector
は意味がわからん。
0838デフォルトの名無しさんNGNG
>>837
しつこいなー。
オブジェクトとして考えるわけねーだろ。あの時代に。
配列とその長さってのはFortran以来の由緒ある引数の渡し方だろ。
0839デフォルトの名無しさんNGNG
電波か?
0840デフォルトの名無しさんNGNG
相手しても無駄な香具師:

(1)自分のマチガイが明白なのに認めようとしない、
 最初から議論する気の無い馬鹿。
(2)自分のマチガイが、他人から見れば明白なのに、
 最初から理解する頭の無いアフォ。
0841デフォルトの名無しさんNGNG
>>837
もうそのネタはいいよ…
0842デフォルトの名無しさんNGNG
だから、最初っから元祖K&Rにvectorだと書いてあるっつーに。>>797で。
なぜここまで引っ張るかなー。
0843デフォルトの名無しさんNGNG
argv[i]のように、1次元の添字でアクセスするものを
「ああベクターであることよなあ」と感じない厨房は
もういちど修士課程からやりなおせ。
0844デフォルトの名無しさんNGNG
修士課程って何ですか?
0845JPS ◆M0LaMzf5rY NGNG
reallocで、再度メモリを割り当てると、前にあったデータは消えるしょ?
どうやったら残しておけるの?
リスト構造とか・・・
0846デフォルトの名無しさんNGNG
> reallocで、再度メモリを割り当てると、前にあったデータは消えるしょ?

え?
0847デフォルトの名無しさんNGNG
>>843
argv[i][j] でアクセスしてはいけないと?
0848デフォルトの名無しさんNGNG
> reallocで、再度メモリを割り当てると、前にあったデータは消えるしょ?
消えないけど。
0849デフォルトの名無しさんNGNG
レス数ももったいないのでargvの過愚師は放置で・
0850デフォルトの名無しさんNGNG
vectorはやっぱ内積でアクセスせんとな
0851デフォルトの名無しさんNGNG
>>JPS
消えるとは限らないが、大きくしたときには、
まあアクセスできなくなると思っていたほうが良いね。

ポインタでつながれているもの自体をreallocしちゃいけない。
リストの要素は固定長にして、可変長のデータはそれと分けるんだ。

たとえば、
struct list_header { struct list_header *next; char *real_data; };
みたいにしておいて、real_dataだけreallocする。
0852デフォルトの名無しさんNGNG
>>851
消えもしないしアクセスできなくもならないけど?
0853デフォルトの名無しさんNGNG
>>852
規格によれば、
・reallocは引数として渡されたメモリの内容を他へ移動して、
 移動先へのポインタを返すことがある。(あたりまえ)
・その際、引数として渡されたもとのメモリはfreeされる。
ことになっている。
0854デフォルトの名無しさんNGNG
>>853
つまり、中身のデータは消えもしないし確保した領域がアクセスできなくもならない
という事でしょ?
0855デフォルトの名無しさんNGNG
>>852は知ったか。
0856デフォルトの名無しさんNGNG
>>854
freeされた元の領域にアクセスしたら未定義動作。

JPSの質問にあるように、リストの途中で前後の何箇所か
から指されているようなメモリ領域を考えてるんだよ?
0857デフォルトの名無しさんNGNG
>>856
データじゃなくてポインタの話ね。了解。
0858デフォルトの名無しさんNGNG
>>857
ポインタだってデータだが。
0859デフォルトの名無しさんNGNG
JPSがナイスなタイミングでネタを投下したな(w
0860JPS ◆M0LaMzf5rY NGNG
ヒマだったんで、じゃんけんプログラムをつくりますた。
へぼ思考ルーチンでつ。これから3*3の○×がんがります。

0861デフォルトの名無しさんNGNG
○×って、ヘマさえしなければ引き分けしかならないと思うんだがどうよ?
0862デフォルトの名無しさんNGNG
でも、五目並べならリバーシよりロジック難しそうだ。
0863JPS ◆M0LaMzf5rY NGNG
めんどいんで、リーチの時以外はランダムにすることにしますた。
終わったらK&R読破します。
0864デフォルトの名無しさんNGNG
プログラミング作法でrealloc()ミスってたよね
オンラインのソースは直してあった
ミスの仕方が面白い
0865デフォルトの名無しさんNGNG
>>861
引き分けにしかならない、ということを学習するルーチンが出来上がると思いす。
0866デフォルトの名無しさんNGNG
>>863
先手さえ取れれば、その COM には勝てそうだ。
0867デフォルトの名無しさんNGNG
vec・tor
-[名][C]
1◆〔数〕 ベクトル, 方向量; 動径
:〜 analysis ベクトル解析.
2◆〔空〕 方向, 進路(方位).
3◆〔生物〕 媒介動物, 保菌生物 《病原体を運ぶハエ・カなど; 主に昆虫》.
-[動][他]
〈飛行機・ミサイルなどを〉電波によって誘導する.
【ラテン語「運ぶ者」の意】


この「運ぶ者」っていうのはまさに引数を暗示させてるな・・・
0868デフォルトの名無しさんNGNG
西洋の言葉は奥が深いですなぁ。
0869デフォルトの名無しさんNGNG
日本語平面と英語平面の間に抽象的(ry
0870デフォルトの名無しさんNGNG
> 電波によって誘導する

うーむ。
2ちゃんねらにとっては凄い意味になりそうな言葉だ。
0871デフォルトの名無しさんNGNG
>>867
> この「運ぶ者」っていうのはまさに引数を暗示させてるな・・・

こじ付けだとは思わないわけか?
そういう意味だとしたら argument vector は何かおかしいぞ。
0872867NGNG
>>871
そだね。言葉の意味なんて文脈でいくらでも変わるからね。 
0873デフォルトの名無しさんNGNG
> この「運ぶ者」っていうのはまさに引数を暗示させてるな・・・
ネタとしては30点くらいかな。
0874デフォルトの名無しさんNGNG
運ぶ者が引数とどうつながるんだ?
0875デフォルトの名無しさんNGNG
>>874
しっ!
釣られるな!
0876874NGNG
すまん
0877デフォルトの名無しさんNGNG
ここは FORTRAN のスレですが何か?
0878デフォルトの名無しさんNGNG
argv == argument vector == 議論を誘導するもの == 釣り師
0879デフォルトの名無しさんNGNG
argv == argument vectorer == 議論を電波によって誘導するもの
だろ
0880デフォルトの名無しさんNGNG
a[100]
であらわされる100個の整数を格納する配列を考えます。
その配列の要素の総和が1000になるように
各配列の要素にランダムに整数を格納する方法を教えてください。
0881デフォルトの名無しさんNGNG
880です。よろしくお願いします。
0882デフォルトの名無しさんNGNG
>>880
ランダムに格納したらどうやっても総和が1000にならんが

a[0] 〜 a[98]までをrand()
a[99]に1000 - それ以外の総和

これじゃだめ?
0883デフォルトの名無しさんNGNG
>>882
それでもいいのですが、
どうやれば
a[0]〜a[98]
までの総和を1000以下におさえた形で、
各配列要素にランダムに値を格納できるのでしょうか?

0884デフォルトの名無しさんNGNG
1) 0〜19のランダムな整数を50個生成し、a[0]〜a[49]に入れる。
2) a[i] (i = 50..99)に、20-a[i-50]を入れる。
3) 全体を良く混ぜる。
0885884NGNG
あ、ステップ1)では0〜19に範囲を限る必要はないね。
0886名無しさん@カラアゲうまうまNGNG
a[i]に対して、0..(1000-(a[0]..a[i-1]の総和))の乱数を格納。
0887デフォルトの名無しさんNGNG
>>883
a[0]〜a[98]すべてに負の数
a[99]に1000-それ以外の総和
0888デフォルトの名無しさんNGNG
>>886
最初に1000が出たらどうなるの?
0889デフォルトの名無しさんNGNG
オーバーフローについて指定あるのか
0890デフォルトの名無しさんNGNG
>>886
総和が1000になる保証がないよね。
0891名無しさん@カラアゲうまうまNGNG
>>888
残り全部0。

>>890
確かに最後を特別扱いする必要があるな。
0892デフォルトの名無しさんNGNG
乱数は、平均が10で非負の一様分布で良いのか?
だったら、
for (i = 0; i < 1000; i++) a[i] = i / 50;
とやって、それからランダムにシャッフルすれば良い。
0893デフォルトの名無しさんNGNG
>>891がいいこと言った
要求仕様をよく読めってのが題意にありそう
0894デフォルトの名無しさんNGNG
1000個の箱を用意して
それに100個の玉をランダムに入れていく。
番号0の箱から見ていって、1つ目の玉が入っていた
箱の番号をa[0]の値とする。
以下同様に、玉が入っていたら
(箱の番号-前の玉が入っていた番号)
をa[i]に入れていく。
0895894NGNG
間違い。100個の玉入れちゃだめ99個
で a[99] は
(1000-99個目の玉が入っていた箱の番号)
0896デフォルトの名無しさんNGNG
>>894
「100個の箱に1000個の玉」ってのは正解っぽいな。
負の数を考えないとしたら、最も美しい解だな。

a[i] 全部ゼロにする。
for (k = 0; k < 100; k++)
 a[ (0〜99の乱数) ]++;
0897896NGNG
失礼。ループ回数は1000回ね。

a[i] 全部ゼロにする。
for (k = 0; k < 1000; k++)
 a[ (0〜99の乱数) ]++;

どうだ! これが決定版だろ。
0898デフォルトの名無しさんNGNG
>>894-895
間隔を取ると、分布は一様分布でなく
指数分布になっちゃう気がするが。
0899894NGNG
>>896
私の考えたのとちょっと違うみたいだけど
それが一番いいですね〜
↓適当に書いたテストプログラム。コマンドライン引数に整数を与えると結果が調整できます。

#include <stdio.h>
#include <stdlib.h>

#define ARRAY_SIZE 100
#define RANGE 1000

void random_set( int *array ) {
int i;
for ( i = 0; i < ARRAY_SIZE; i++ ) array[i] = 0;
for ( i = 0; i < RANGE; i++ ) array[rand()%ARRAY_SIZE]++;
}

int main( int argc, char **argv ) {
int array[ARRAY_SIZE];
int i, sum = 0;
if ( argc > 1 ) srand( atoi(argv[1]) );
random_set( array );
for ( i = 0; i < ARRAY_SIZE; i++ ) {
printf ( "%2d: %3d\n", i, array[i] );
sum+= array[i];
}
printf( "sum: %d\n", sum );
return 0;
}
0900894NGNG
>>898
あれ?なんで?
0901880NGNG
ありがとうございます。
>>894
さんので、やらせていたいただきます。
0902894NGNG
>>901
あ、私じゃなく896さんの考えた方法です(念のため
0903880NGNG
>>896
さんありがとう。他のみんなもありがとう。
0904デフォルトの名無しさんNGNG
C言語自体のことではないのですが
Cを書く際に使いやすいエディタってどんなのがありますか?
今までCPad使ってたのですがもう少し上級なのを使おうかなと思いまして。
よろしくお願いします。
0905デフォルトの名無しさんNGNG
>>904
板違い
0906デフォルトの名無しさんNGNG
>>900
間隔が一様分布だと、総和はガウス分布に近づく。
総和が一様分布だと、間隔は指数分布に近づく。
0907894NGNG
>>906
総和は一定なんだけど...
0908デフォルトの名無しさんNGNG
>>907
まちがいた。

単位区間内に起きる事象の回数(たとえば、100個の箱の中の玉の数)
の平均値が決まっていて、どの時点で起きるか(玉が入る箱の番号)
が一様分布だとすると、事象の間隔は指数分布。
0909894NGNG
>>908
それって箱に複数の玉が入ることも想定してるのかな?
0910894NGNG
てか混乱してた
よく考えたら一様分布になりそうにないね
ありがとう>>908
0911デフォルトの名無しさんNGNG
>>894 のアルゴリズムの分布調べてみると、こんな感じになった。
(ずれるかも)

  0-2  : ************************************ 20
  3-5  : ************************************************** 28
  6-8  : ********************** 12
  9-11  : ********************** 12
  12-14  : ********* 5
  15-17  : *********** 6
  18-20  : **** 2
  21-23  : ****** 3
  24-26  : ********* 5
  27-29  : ** 1
  30-32  : **** 2
  33-35  : 0
  36-38  : ** 1
  39-41  : ** 1
  42-44  : 0
  45-47  : ** 1
  48-50  : 0
  51-53  : 0
  54-56  : 0
  57-59  : 0
  60-62  : 0
  63-65  : ** 1
Min 0, Max 63, Avg. 10.000
0912デフォルトの名無しさんNGNG
>>911
偏ってるけど乱数の生成方法に問題あるんじゃねーの
0913デフォルトの名無しさんNGNG
>>911
は? だから指数分布(に近づく)といっとるだろ。

一方、>>896 の結果は↓こうなった。
1  : ***   1
2  : 0
3  : 0
4  : *********    3
5  : ***   1
6  : *********    3
7  : ******************************  10
8  : ************************************   12
9  : *********************************    11
10  : ************************************************ 16
11  : *********************************    11
12  : **************************************************    17
13  : ************************ 8
14  : *********    3
15  : ***   1
16  : ***   1
17  : 0
18  : ***   1
19  : ***   1
Min 1, Max 19, Avg. 10.000

ガウス分布だね。
一様分布のアルゴリズムは未だ誰も考え付いていない。
0914896NGNG
>>913
あー!そうかー。

足してくとガウス分布に近付いちゃうよなあ。
中心極限定理という香具師だな。

うーん。一様分布じゃなきゃだめなの?
0915894NGNG
てか一様分布ってどうなるの?ありえなくない?
0916デフォルトの名無しさんNGNG
>>915え?
どの値の出現確率も同じなのが一様分布だけど?
まあ、1000個くらいだとぴったり全部同じにはならんだろうけど、
ほぼ同じになるはず。グラフの形は、

******
******
******
******
******
******
...

にわずかなでこぼこ、っていう感じになるはず。
0917894NGNG
>>916
値の範囲は0〜1000だけど.....
0918デフォルトの名無しさんNGNG
>>917
0〜1000と決まってたっけ?

また、そうだとしても同じこと。
0〜1000の範囲の数が1/1001の確率で出現すれば一様分布。
0919918NGNG
ああ、そうか。0〜1000だとすれば、
平均が10の一様分布ってことはあり得ないね。

いったいどんな分布を望んでるかは本人にしかわからんが…
0920デフォルトの名無しさんNGNG
一様分布バージョン。

#include <stdio.h>
#include <stdlib.h>

int foo[100];

main()
{
 int i, d;
 srand(time(NULL));
 for (i = 0; i < 50; i++) {
  foo[i] = i % 20;
 }
 for (i = 50; i < 100; i++) {
  foo[i] = 20 - foo[i - 50];
 }
 for (i = 0; i < 100; i++) {
  int tmp = foo[i],
   rnd = rand() % 100;
  foo[i] = foo[rnd];
  foo[rnd] = tmp;
 }

 for (i = 0; i < 100; i++) {
  printf("%d\n", foo[i]);
 }
 return 0;
}
0921デフォルトの名無しさんNGNG
やはし統計学とか知っといた方が良いPGになれますか?
0922デフォルトの名無しさんNGNG
MIT(マサチューセッツ工科大学)人工知能研究所では
「現在、研究されているプログラム生成AIは10年後に
は実用化されることはがほぼ確実。」としている。
http://science.2ch.net/test/read.cgi/future/1022864257/l50
0923デフォルトの名無しさんNGNG
↑【転送】また、騙された訳だが【完了】
0924デフォルトの名無しさんNGNG
やっぱり確立とか勉強しないとゲームも書けませんか?
0925デフォルトの名無しさんNGNG
別に確率を使用しないゲームもあるしランダム程度知っていればゲームは作れる。
リアリティやゲームバランスの向上を目指すなら確率を知っていたほうが良いと思うが。
0926デフォルトの名無しさんNGNG
ゲームに限らず、ちゃんと勉強しとかないと
rand() % N
なんて書くDQNプログラマになっちゃうぞ。
0927デフォルトの名無しさんNGNG
>>926
確率の勉強をしてもrand() % Nと書かなくなるわけではない罠。
0928894NGNG
>>926
D Q N は お ま え だ っ つ ー の ( ワ ラ
0929894NGNG
しまった!名前欄消し忘れた!(汗
093060cm浮き上がるストレートNGNG
乱数、こんなのどうですか?
int rand1(int max)
{return rand()/(32768/(max+1));}

int rand2(int max)
{return rand()%(max+1);}

int rand3(int max)
{return (rand()+rand()*32768)/(1073741824/(max+1));}

int rand4(int max)
{return (rand()+rand()*32768)%(max+1);}

int rand5(int max)
{return (clock()/10)%(max+1);}
0931926NGNG
>>927
確率だけでいいなんて書いてないが?
0932894NGNG
>>931
なんで rand()%N がダメかって説明できんの?
0933デフォルトの名無しさんNGNG
>>930
ものすごくDQNなプログラムの群れがニホヒ立つ.
0934デフォルトの名無しさんNGNG
randMT()%Nではいかんのか?
0935デフォルトの名無しさんNGNG
>>932
ええ、できますけど、そうやって説明させようと言うつもりなら
素直に「教えて下さい」と頼むのが礼儀と言うものですよ。
0936デフォルトの名無しさんNGNG
>>934
Mersenne Twisterなら%Nで大丈夫でしょうけど、
標準関数ではありません。
0937デフォルトの名無しさんNGNG
>935
もし、randの下位のbitが云々、とやりたいなんら、
VCのrandは
return(((holdrand = holdrand * 214013L + 2531011L) >> 16) & 0x7fff);
となっていることを云っておく。
0938デフォルトの名無しさんNGNG
>>937
だから何?
0939デフォルトの名無しさんNGNG
>>938

>そうやって説明させようと言うつもりなら
>素直に「教えて下さい」と頼むのが礼儀と言うものですよ。
0940デフォルトの名無しさんNGNG
>>937
スレ違い。
0941デフォルトの名無しさんNGNG
>>937
なぜC言語スレでVCの実装の話がでてくるのか教えて下さい。
0942894NGNG
>>941
前にも出てきたけど、最近のバージョンのglibcのrandも
rand()%N
で無問題
昔むかしにrand()%Nはダメと教えられて
それを単純に覚えてるだけのやつはDQNだよ
0943デフォルトの名無しさんNGNG
結局

926 :デフォルトの名無しさん :02/11/26 20:13
ゲームに限らず、ちゃんと勉強しとかないと
rand() % N
なんて書くDQNプログラマになっちゃうぞ。

は実装の話になるから間違いって事だろ。
0944デフォルトの名無しさんNGNG
>>942
そんな処理系に依存した話は他のスレでやって下さい。
0945デフォルトの名無しさんNGNG
>944
926に言ってくれ。
0946デフォルトの名無しさんNGNG
「rand()の下位ビットが十分ランダムだ」と仮定すると
処理系に依存したプログラムになる。
「あまりランダムでないかも知れない」と仮定すると、
移植性の高いプログラムになる。
0947894NGNG
>>946
それには同意
でもダメな理由も知らないのに >>926
みたいなこというのは感心しないってこと
0948デフォルトの名無しさんNGNG
946は、識別子を6文字に押さえるタイプ
0949デフォルトの名無しさんNGNG
結局DQNは>>942-943の方だったわけですね。
0950デフォルトの名無しさんNGNG
D Q N は お ま え だ っ つ ー の ( ワ ラ
0951デフォルトの名無しさんNGNG
>>950
次スレよろしくなDQN
0952デフォルトの名無しさんNGNG
>>950
ここに、むりやり割り込みませんか?
もちろん、過去スレへのリンクもちゃんとはってしまう。

char *c[44] = {"C言語のことは漏れに聞け!"};
http://pc3.2ch.net/test/read.cgi/tech/1037796472/
0953デフォルトの名無しさんNGNG
むりやり割り込むも何もここがむりやり派生したんだろが。
>>226-234
0954ポインタがわかりません。NGNG
int *a,b;
b=100;
a=&b; /*質問1*/
printf("%d\n",b);
printf("%d\n",a); /*質問2*/
printf("%d\n",*a);
printf("%d\n",&a);

質問1:この場合、bのアドレスをaに代入するわけですよね?
質問2:そうするとこの文の実行結果はbのアドレスだと思ったんですが、aのアドレスが出ました。
なぜですか?

たぶん、初歩的なところが理解できていないのだと思うんですが、
1行目で宣言してるaに*がついているということは、
aはポインタ変数なんですよね。ここまではわかります。
で、ポインタ変数ってなんですか???ってことなんです。
メモリ内に*aの領域が作られるわけですよね。その内容にはアドレス以外入らないわけですか?
0955デフォルトの名無しさんNGNG
>>954
A1: はい。
A2: bのアドレスが出るはずです。&b の結果と比べてみてください。
0956デフォルトの名無しさんNGNG
次スレ
http://pc3.2ch.net/test/read.cgi/tech/1038324550/
09571NGNG
次スレもこのスレも腐っているから安心していい。
0958デフォルトの名無しさんNGNG
>>954
*aの領域は作られない
aの領域だけが作られる

aの領域に&bを書き込んだ時点から
*aはbを意味するようになる
0959デフォルトの名無しさんNGNG
「rand()の上位ビットが十分ランダムだ」と仮定すると
処理系に依存したプログラムになる。
0960デフォルトの名無しさんNGNG
ここは荒らされていない age
0961デフォルトの名無しさんNGNG
>>959
(ワラタ
rand()は使えないってことね。
0962デフォルトの名無しさんNGNG
>>954
printf("%d\n",&b);
を入れておけ。入ってないよ。
0963デフォルトの名無しさんNGNG
さげ
0964デフォルトの名無しさんNGNG
さげ2
0965デフォルトの名無しさんNGNG
安楽死さげ
0966デフォルトの名無しさんNGNG
1000!



0967デフォルトの名無しさんNGNG
1000!
0968デフォルトの名無しさんNGNG
氏ね
0969デフォルトの名無しさんNGNG
↓ロリコン
0970デフォルトの名無しさんNGNG
↑フケセン
0971デフォルトの名無しさんNGNG
↓(・∀・)ジサクジエンデシタ
0972デフォルトの名無しさんNGNG
  \ \    ○    // /   /
\  \      / ヽ    /   / / /
\\        /_ ゝ    /  //
  \     /   \
\    _/____\__       ∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧
    /             ヽ     <
  /ノヽ  、、  ヽ) ( ノ     ヽ  <
  |::::: ) (   て○ )` ソ' 、/~○ノ :::|  <   |  ヽ                     / ̄ ̄\
 |::::::       /' .::::::. ` \   ::::::| <    |  ヽ   __                  |
 |::::      /  / ̄ ̄ヽ    ::::::|<   /    \   |ノ      ――――      /
 |:::::        |  |||!|||i|||!| |   ::::::| < /     \ 丿 アアァァ           |
  |:::::::.      | :| |ll ll !! !.| |   ::::|  <                            ●
  \:::::     | :|!! || ll|| !!:| |   ノ  <
    \::::..   | | !     | l     \\V V V V V V V V V V V V V V V V V
0973デフォルトの名無しさんNGNG
記念パピコV(^o^)V
0974デフォルトの名無しさんNGNG
↓屍姦者
0975デフォルトの名無しさんNGNG
(;´Д`)ハァハァ
0976デフォルトの名無しさんNGNG
↑
知障

近親相姦
↓
0977デフォルトの名無しさんNGNG
(`・ω・´)ハァハァ
0978デフォルトの名無しさんNGNG
↑
大器晩成

温故知新
↓
0979デフォルトの名無しさんNGNG
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /    モナーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ^∀^) /                /(^∀^ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
0980デフォルトの名無しさんNGNG
↑
基地外

焼肉定食
↓
0981デフォルトの名無しさんNGNG
Borland C++ って名前はC++なんですけど
これってCにも使えるんですか?
0982デフォルトの名無しさんNGNG
↑
白痴

鬼畜
↓
0983デフォルトの名無しさんNGNG
       ___
     /   O。\
    /;;::::::      ヽ
   /;;::::::        ゙ヽ、
   (;;::::::    (  _、,  ,,._ )   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   /;;::::::   ,,⊂・、 (⊂・(   <  ユー ホースト? HAHAHA
  ノ( (6;:::. _   ⌒( 、 ,)⌒ ヽ.  \________
/;;;;;;;;;;:::.. i'\_,,,,,,,, !,,,,,,,,_i ノ    
;;;;;;;;;;;;;;;|;:::. ! ヽ、王王王ツ' j、    / ̄ ̄ヽ
;;;;;;;;;;;;;;;;|;:::     ニ  ,,ノ \  | ,  、 ; | Help me!
;;;;;;;;;;;;::::ヽ;:::        /   ゙ヽ、)◎。。◎ 6)  Help me!Zapp!
;;;;;;;;;:::::....   ヽ┗〓〓┛      i ◎   |
;;;;;;;::::::::...  /^ェ ~ ̄~ル ̄!ニ))   ヽ.   /
;;;;;::::::......./:  ィ   ̄) ̄ ̄   i⌒( ̄ ̄ ̄ヽ
;;::::::..../:::   ィ  ̄)    Y   しi ( ̄ ̄  ^)
;::..../::::::   ィ  ̄)     !   人( ̄ ̄ ,ノ
        / ̄    ★ i /ノ( ( ̄ _ノ
0984デフォルトの名無しさんNGNG
えーーーとーー・・・up
0985デフォルトの名無しさんNGNG
うめ
0986デフォルトの名無しさんNGNG
れば 
0987デフォルトの名無しさんNGNG
良い
0988デフォルトの名無しさんNGNG
です 
0989デフォルトの名無しさんNGNG
か?
0990デフォルトの名無しさんNGNG
記念パピコV(^o^)V
0991デフォルトの名無しさんNGNG
999
0992デフォルトの名無しさんNGNG
 ,,,人_,,,人人_人人_,,人人
<                >
<  1000Get!!!!!!!!!!!!!!!!
∠                >  ____/_//_/
  ̄Y''' ̄Y ̄Y '''Y'' ̄YY ̄Y'''  /____  /  ___________________   _  _  _
         ∨          _____/ / /___________________/ /_//_// /
          ゚         /______/                /_/
   ゚   ゚    。
   /゙////_.. 〃   ゚
  く    ∧∧  ) ゙゙゙\,,_______ _,,  _ ...,,
   ゝ⊂(Д゚ 〇 _`つ ......... ............................. ..............    ・…∵...・・ ・
   く  ....... .......... :::::::/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄'' ̄ ~"
  ゚ \,|'\゙∨  ゙̄ ~   ゚
      ゚  。  ゚  。
0993デフォルトの名無しさんNGNG
がんばれ!あと少しだゾ!
0994デフォルトの名無しさんNGNG
汗り杉
0995デフォルトの名無しさんNGNG
 
0996デフォルトの名無しさんNGNG
>>995
何か書けYO!
0997デフォルトの名無しさんNGNG
あー、てすてす。
0998デフォルトの名無しさんNGNG
次スレ
http://pc3.2ch.net/test/read.cgi/tech/1038324550/l50
0999デフォルトの名無しさんNGNG
a
1000デフォルトの名無しさんNGNG
1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。