トップページ⇒tech
967コメント668KB

【独習C】猿60【猿C言語教室 part6】

■ このスレッドは過去ログ倉庫に格納されています
0001大猿(サーバ) ◆CpEg91wR/w NGNG

 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
│ついに60スレ目到達か・・
└―――――v―――――――――――――――――――――
 | 日直             int i;
 |  青             printf("祝60スレ");
 |  猿             scanf("
 |      @(o・ェ・)@            
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
    | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0322大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|ポインタと配列とじゃメモリ確保が微妙に違うのか・・・
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0323hoge ◆9XKoM6BN1w NGNG
>>322

#include <stdio.h>

int main(void)
{
char str[] = "兎に角、くそ長い文字列を、代入してみれば、分かるだろう";
char *Pstr = "みこみこみこみこみこみこみこみこみこみこみこみこみこみ";
printf("str size == %u\n", sizeof(str));
printf("Pstr size == %u\n", sizeof(*Pstr));

return 0;
}
0324デフォルトの名無しさんNGNG
>323 あふぉでつか
0325hoge ◆9XKoM6BN1w NGNG
>>324
しまったー!
>char *Pstr = "みこみこみこみこみこみこみこみこみこみこみこみこみこみ";
こ、が一つ足りない。





え? そういう問題じゃないって?
0326大猿(サーバ) ◆CpEg91wR/w NGNG
                                            :;              ∵
                                                  \((从⌒)
                                             \曝ク  ∵ ━(( /
                                            \ (( § ) ⌒; /  三
                                            * 煤@;  ) (( ‡ *    三
 ⌒  )) =≡≡三                     //  (( § ) ⌒; ((从⌒从lll ;(・)/
=| ̄ ̄ ̄ ̄ ̄ ̄@(o・ェ・)@ ̄ ̄ ̄ ̄ ̄ ̄ ̄.|三三三三三三((从⌒ ) ⌒;  lll ;` 从 )― ←>>hoge
=|_______f ⌒ヽ __「  〉______.|三三三三三三#((  :: ) ( ⌒ ζ *` 从  )―
⌒  ))三三三 i '   `ヽ./  /            \`      : *煤i( 从  ((  ) )*ヽ\ ヽ・
   三三三   |, ' \  ´  /                     : / / ・(( ;  : ζ\*
  =≡≡≡   |    _ヽ、_, '                    / ・(( 从  ((  )) *ヽ・ヽ\
  =≡≡≡   i  、      ヽ                        ∵  / / /  ;     ∵
三三三三 _,, ┘  「`ー-ァ   j                         / / ,'  ∵
=三三   f"     ノ   {  /                        /  /|  |
三三三  |  i⌒" ̄=≡三/  /                       !、_/ /   〉
≡≡三三 ヾ,,_」   =≡三i___,,」                           |_/
0327大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|さて寝るか
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0328大猿じゃないけど ◆N773RO82ms NGNG
>>321
なんか "saru\n" に見えるな(改行文字入ってる?)。
x86わかんないけどそんな気がする。 @(・ε ・ o)@
0329大猿じゃないけど ◆N773RO82ms NGNG
>>328は /* char p[] = "saru"; */ の部分のことね。>@(・ε ・ o)@
0330デフォルトの名無しさんNGNG
情報系の学科に所属してもう3年目・・・
PG目指してるわけじゃないけど、Cが分からなくて困ってます。
4年になって研究室入れば成長するから、と先生は言うのですがヤバそうです。

さぁ、何から始めたらいいでしょう?
0331SmallMonkey ◆N5kWrg0ws6 NGNG
 ┌――――――――――――――――――――――――――――――
 |そんなあなたに独習C
 |
 └―v――――――――――――――――――――――――――――    
   @(o・ェ・)@/ ̄ ̄ ̄/ 
    _(__ニつ /kozaru /
     ̄ ̄ ̄ ̄ ̄ ̄
0332hoge ◆9XKoM6BN1w NGNG
>>330
Cは簡単ですよ。

とりあえず、足がかりのための書籍をあげておきます。

はじめてのC言語 完全入門
塚越一雄 著 / B5変形判 / 472ページ
ISBN4-7741-1211-9 / 2001年5月21日発売

定価2604円(本体2480円)

http://www.gihyo.co.jp/books/syoseki.php/4-7741-1211-9

0333NewbieNGNG

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

int main(void)
{
char text[][80] = {
"ほげほげ","ほぇ","ふがふが",
"こころに",""
};

int i, j;

for(i=0; text[i][0]; i++) {   /*ここの評価の仕方がわかりません*/
for(j=0; text[i][j]; j++)
printf("%c", text[i][j]);
printf(" ");
}

system("PAUSE");
return 0;
}

独習C第三版の150ページのforループの意味がわかりません
具体的には「 for(i=0; text[i][0]; i++)」のtext[i][0]の評価がどうなされるのか理解できません。
いままではfor(j=1; j<11; j++)のようなループしか使っていませんでした。
text[i][0]が\0だと偽とか評価するのでしょうか?
どなたか解答をよろしくお願いします。
0334一星 ◆Cppn/.YI3. NGNG
┌――――――――――――――――――――
|>>333
|「text[i][0]が\0だと偽とか評価する」……、そのとおりだ。
|[0]番目を評価する点が鍵だ。
|『ほげほげ』・『ほぇ』…のあとに来る最後の文が空文になっているだろ?
|ということはその最後の文の[0]番目の文字は必ずnull文字になる。
|だから、最後の文字列が来た時、そこの[0]番目の文字を
|条件式として評価したらnull文字で偽なので反復が終了するわけだ。
└――――――――v―――――――――――
            ∧_∧
           (゚Д゚ ,,)
       __| ̄ ̄||_)_
     / /0|――||/旦 /| カタカタ・・・・
     | ̄| ̄ ̄ ̄ ̄ ̄ ̄| . |
     |三|______|/
0335デフォルトの名無しさんNGNG
企業会計がだるい。

昔、印度人がゼロを発明しました。
ゼロはすばらしい。
ゼロは万能です。

#include <stdio.h>
int main(void)
{
int i = 10000000;
int j = 0;
printf("%d", i / j );
}
0336hoge ◆9XKoM6BN1w NGNG
>>335
0337大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|>>330
  おれはまだ一年だぜ
  Cぐらいならすぐ覚えられるだろう
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0338大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|ところで一星野郎のHPのURLあるか?
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0339一星 ◆Cppn/.YI3. NGNG
┌――――――――――――――――――――
|>>338
|おれはウェブサイトもってないよ。
|今製作中のRPGが出来たらすぐにでも開こうと思うんだがな。
└――――――――v―――――――――――
            ∧_∧
           (゚Д゚ ,,)
       __| ̄ ̄||_)_
     / /0|――||/旦 /| カタカタ・・・・
     | ̄| ̄ ̄ ̄ ̄ ̄ ̄| . |
     |三|______|/
0340大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|この前さらしたやつは一星のじゃねーのjか?
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0341デフォルトの名無しさんNGNG
独習C++とかはどうですかね?
0342デフォルトの名無しさんNGNG
手元にWinMEとFreeBSDが一台ずつあるんだが
C始めるならどっちがいいんかな
0343デフォルトの名無しさんNGNG
>>342
それだけではなんとも。
0344一星 ◆Cppn/.YI3. NGNG
┌――――――――――――――――――――
|>>340
|一応サーバーだけは用意してあるんだ。
└――――――――v―――――――――――
            ∧_∧
           (゚Д゚ ,,)
       __| ̄ ̄||_)_
     / /0|――||/旦 /| カタカタ・・・・
     | ̄| ̄ ̄ ̄ ̄ ̄ ̄| . |
     |三|______|/
0345正規表現って便利だね ◆CpJava/MoE NGNG
   _____
 /:\.____\
 |: ̄\ (∩・3・)\ 受験票きた〜
 |:   |: ̄ ̄ U ̄:|
 |:   |:      .:|
0346342NGNG
WinよりUNIXのほうが使いやすいソフト多いよ
とかでもいいんだが
0347大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|>>341
  おれみたいに独C使ってる奴にはいいんじゃねえか?
  まだちょこっとしか見てないからよくわからんが
  >>342
  使い慣れてる方が一番いいだろう
  野球のグローブも高価なグローブよりボロボロでも使い慣れたものが一番いい
  それと同じだ
  >>344
  よし FTPもつけろ
  >>345
  なんだそりゃ?
  >>346
  知らん
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0348デフォルトの名無しさんNGNG
君らはソートもろくに知らないだろうね。
クイックソートくらい書けるようにならないと。
漏れはやはり君らとは違うんだろうな
クイックソート、シェルソートを一日で勉強し
次の日にきちんと何もみないで書けるようになってたよ。
これが才能の違いなんだろうか。
0349大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|一日中やってれば猿でも覚えられるだろ
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0350正規表現って便利だね ◆CpJava/MoE NGNG
>>347
(・3・) 基本情報の〜

>>348
(・3・) おいらとは才能が違いますNE〜
0351大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|ああそう
  もうソフ開でも受けるのかと思ってたぜ
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0352hoge ◆9XKoM6BN1w NGNG
>>346
UNIXは使ったことがないが、
GNUのGCCとかが有名かな。しかもタダ!
Windowsの方は、9x系は不安定なので、
できることならばNT系にすることをお勧めする。
何故かというと、C言語というのは、書こうと思えばいくらでも危険なコードが書けてしまう。
本来参照してはいけないメモリアドレスを参照するなんて事は朝飯前だ。
そういうプログラムを実行しても大丈夫なように、丈夫なシステムが要る。


まあ、最終的には大猿が言っているように、好きなほうにしろと

>>348
いやはや、さすがですな。
並々ならぬ丸暗記力を所有していらっしゃる。
0353正規表現って便利だね ◆CpJava/MoE NGNG
>>351
(・3・)ソフカイ?無理無理!!
   基本情報も全然勉強してこなかったからこのままじゃ絶対落ちるNE〜
   今から2週間死ぬ気でがんばるWA。

>>346
>>352
(・3・)確かMEはWINDOWSの中でも不安定で有名なやつだよNE〜
   そういうので自分で作ったプログラムでやっちゃいけないメモリの書き換えとかやると
   ブルースクリーンが簡単に拝めちゃったりするのかNA〜?、ちょっとやってみたいかMO
0354hoge ◆9XKoM6BN1w NGNG
幸いにも、
いまだ自分の書いたソースでブルースクリーンを見たことはない。
というか、ブルースクリーンは出ないのだが、操作不可能に陥った事は何度もある。

>>353
確か、NT系に意図的にブルースクリーンにできるワザがあったはずです。
ちょっとググっても出てこないんですが、あるレジストリを変更すれば、
ショートカットキーでお手軽ブルースクリーンにできるそうです。

意図的にブルースクリーンにしてエラーメッセージを見たい、
ドライバなどの開発者向けの機能だそうですが。
0355デフォルトの名無しさんNGNG
>>346
エディタ(統合環境か?)についてはどうだい
MEの方が具合が良いのでは?
0356大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|>>353
  そうか

  まぁいい寝る
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0357NewbieNGNG
>>334
レスありがとうございます。
試しに下のように書いてみたら、これでも動きますね。

for(i=0; text[i][0]!=0; i++) {   
for(j=0; text[i][j]!=0; j++)

今度書くときはもう少し調べてみます。
0358バブルボブルレイ ◆Blurayrg5Q NGNG
            | ̄ ̄ |
            |  ___|  
          .._|___|_
           @(o・ェ・)@   受験票来たなそういえば
       ____(_∬__)___
      / \    旦 ___\
     .<\※ \____|\____ヽ
        ヽ\ ※ ※ ※| |====B=|
        \`ー──-.|\|___l__◎..|ヽ
          ̄ ̄ ̄ ̄| .| ̄ ̄ ̄ ̄|
               \|        |〜
0359ヾ(^∇^)ノ ◆A/AAAAAAAo NGNG
            | ̄ ̄ |
            |  ___|  
          .._|___|_
           @(o・ェ・)@   なんだ
       ____(_∬__)___
      / \    旦 ___\
     .<\※ \____|\____ヽ
        ヽ\ ※ ※ ※| |====B=|
        \`ー──-.|\|___l__◎..|ヽ
          ̄ ̄ ̄ ̄| .| ̄ ̄ ̄ ̄|
               \|        |〜
0360一星 ◆Cppn/.YI3. NGNG
int putchar(int),getchar(void),
main(void){
char str[64]="ABCDE";
putchar(str[2]); putchar('\n');
putchar(2[str]); putchar('\n');
getchar();
return 0;
}
            ∧_∧
           (゚Д゚ ,,)
       __| ̄ ̄||_)_
     / /0|――||/旦 /| カタカタ・・・・
     | ̄| ̄ ̄ ̄ ̄ ̄ ̄| . |
     |三|______|/
0361大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|もさPC直るかな・・・
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0362デフォルトの名無しさんNGNG
>>360
なんで変数名と添え字が入れ換わっても同じ結果になるんだ?
C言語のバグか?
0363デフォルトの名無しさんNGNG
a[i] = *(a + i) = *(i + a) = i[a]
0364大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|なるほど・・ またひとつ利口になったぜ
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0365大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|とりあえず訂正してみたぜ
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
愚猿データベースβ0.8
http://www1.linkclub.or.jp/~yon/haha/saru-img/saru0734.c
0366一星 ◆Cppn/.YI3. NGNG
┌――――――――――――――――――――
|とりあえずおれは柔道行って来るよ。
└――――――――v―――――――――――
            ∧_∧
           (゚Д゚ ,,)
       __| ̄ ̄||_)_
     / /0|――||/旦 /| カタカタ・・・・
     | ̄| ̄ ̄ ̄ ̄ ̄ ̄| . |
     |三|______|/
0367デフォルトの名無しさんNGNG
#include <stdio.h>
int main(void)
{
int i;
for (i = 0; i["<N; i++)main()"]; ++i)
putchar(*("Hello, World.\n" + i));
return 0;
}
0368デフォルトの名無しさんNGNG
ヘンなこと教えんなよ。
0369デフォルトの名無しさんNGNG
基礎だ。
0370デフォルトの名無しさんNGNG
>>367
なかなか良質なコードだね。
0371大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|もさPCなかなかなおんねーな・・
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0372hoge ◆9XKoM6BN1w NGNG
>>360
すげえ!

>>362
なるほど、
a[i] == *(a + i)
ってとこまでは分かっていたが、まさかこんなこともできるとは。
よし、漏れもまねしよう。

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

char *str[5] = {"Hello,world", "トリッキーなコード", "スパゲッティコード", "無駄無駄無駄無駄無駄", "WIRRY!"
};
int i;
for (i = 0; i < 5; i++) printf("%s\n", i[str]);
}

Work it!
0373hoge ◆9XKoM6BN1w NGNG
おっと、

 >>>362
 >なるほど

>>363な。


>>367
そんな方法もあるのか。

0374デフォルトの名無しさんNGNG
>>360
前川のだんなのポインタ完全制覇に書いてあったな。
0375デフォルトの名無しさんNGNG
「シンタックスシュガー」ってあの人の造語?
0376デフォルトの名無しさんNGNG
>>374
前橋だろ
>>375
違うだろ
0377一星 ◆Cppn/.YI3. NGNG
int putchar(int), getchar(void);

int main(void){

char *str[6] = {"Hello,world", "トリッキーなコード", "スパゲッティコード", "無駄無駄無駄無駄無駄", "WIRRY!",""
};
int i,j;

for (i = 0; 0[str[i]]; i++){
for (j = 0; j[str[i]]; j++)
if(j[str[i]])putchar(j[str[i]]);
putchar('\n');
}
getchar();
return 0;

}

            ∧_∧
           (゚Д゚ ,,)
       __| ̄ ̄||_)_
     / /0|――||/旦 /| カタカタ・・・・
     | ̄| ̄ ̄ ̄ ̄ ̄ ̄| . |
     |三|______|/
0378342NGNG
MEは不安定で有名らしいから
2000買いに行ったら売ってなかった罠
んでBSD入れてたと思しきパソコンの電源入れたら
何故かDOSが起動して再インスコしろだとよ

BSDどこいった_| ̄|○
0379正規表現って便利だね ◆CpJava/MoE NGNG
#include <stdio.h>
int main(void){
char *str[] ={
"GoodBye,World",
"トリッキーなコード",
"無駄無駄無駄無駄無駄",
"ズッキューーン",
"この味は嘘をついてる味だぜ"
};
int i, j;
char **ptr;
for(ptr = &0[str], i = 0; i[ptr]!=(sizeof(str)/sizeof(0[str]))[str]; i++, putchar('\n'))
for(j = '\0'; j[i[ptr]];)
printf("%c", j++[*(i+ptr)]);
return 0;
}

おいらもやってみた、これが限界(。3。) グハッ
0380デフォルトの名無しさんNGNG
#include <stdio.h>
void main(void)
{
cahr a[10]="12345";
int b,c;
sscanf(a,"%2d%3d",&b,&c);
printf("b=%d\n",b);
printf("c=%d\n",c);
}
aは文字列を指しているのにどうしてint 型の変数に格納されて、整数として出力されるのでしょうか?
0381hoge ◆9XKoM6BN1w NGNG
>>377
脳内コンパイルの結果、
str[0]から、str[4]までのポインタが指す文字列が、標準出力に出力されると見た!

最初のforループは、
0[str[i]] == str[i] で、i == 5 つまり、str[5] == "\0" の時に止まる。

次のforループの終了条件は、str[i]の文字数回のループになる。

で、ここが分からない。

 >if(j[str[i]])
 >  putchar(j[str[i]]);

別にifをつけなくても、j[str[i]] == '\0'のばあい、二番目のforのところで終わると思うから、意味がないのではないか?
ひょっとしたら、'\0' != 0 の環境があるの?
0382デフォルトの名無しさんNGNG
sscanf(a,"%2d%3d",&b,&c);
ここで10進に変換してるから。
0383デフォルトの名無しさんNGNG
>for (j = 0; j[str[i]]; j++)
>if(j[str[i]])putchar(j[str[i]]);
for (j = 0; j[str[i]]; putchar((j++)[*(i + str)]));
ってできるかな。
0384デフォルトの名無しさんNGNG
スパゲッティコードを書くスレはここですか?
0385デフォルトの名無しさんNGNG
スパゲッティコードは登場してません。
ここはトリッキーなコードを書くスレです。
0386デフォルトの名無しさんNGNG
なんかわざとらしかったな
0387デフォルトの名無しさんNGNG
>>382
文字列12345を10進になおしても整数12345になるんですか?
0388デフォルトの名無しさんNGNG
%2d%3d
初めの2バイトを整数型としてbに代入
次の3バイトを整数型としてでcに代入

10進って言い方はおかしいから訂正しとく。
あとcharな
0389デフォルトの名無しさんNGNG
いや10進と見て、代入か・・・
言い方がわからん・・・
0390デフォルトの名無しさんNGNG
文字列12を10進の整数12と見て代入、文字列345を10進の345と見て代入ということですか?
0391正規表現って便利だね ◆CpJava/MoE NGNG
>>390
(・3・)文字列12を整数に変換して(文字の1と数字の1は違ったりする)代入って感じでいいんじゃないかNA〜
0392デフォルトの名無しさんNGNG
>>391ありがとうございます。しかしおっしゃるとおり文字の1と数字の位置はちがいますよね。
どうしてこのような現象が起こるのでしょう?。。。
0393デフォルトの名無しさんNGNG
×位置○1
0394正規表現って便利だね ◆CpJava/MoE NGNG
>>392
(;・3・)うーんsscanfの中でそういう処理をしてるからとしか言いようがないNE〜
    関数って分かりますか?
0395デフォルトの名無しさんNGNG
>>392
scanfがそういう関数だから。
文字を整数に変換するのってそんなに難しくないし。

#include <stdio.h>
int f(char *s){
int v=0;
for(;*s;s++) v = 10 * v + *s - '0';
return v;
}
int main(void){
char *s = "290";
printf("%d",f(s));
return 0;
}

0396デフォルトの名無しさんNGNG
>>392
まずは>>3にあるこれを読んでみれ
ttp://www.bohyoh.com/CandCPP/C/Library/fscanf.html

%dはstrtol適用されると書いてある
0397395NGNG
文字→文字列
0398デフォルトの名無しさんNGNG
みなさん親切なご説明の数々ありがとうございます。
なんとなくですが、わかりました。
0399大猿(もさPC)NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|もさPCから参上 AthronXP 1400+は早すぎる・・・
  おれのマシンと大違いだぜ
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0400正規表現って便利だね ◆CpJava/MoE NGNG
    _.-~~/
    /  /   パカ
   / ∩∧_∧
   / .|( ・3・)_  400は頂いたYO!
  // |   ヽ/
  " ̄ ̄ ̄"∪
0401デフォルトの名無しさんNGNG
Good-bye,true java...
Hello,MS-java!
Probably, MS-java is unified into J#.
0402大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|直るかな・・
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0403SmallMonkey ◆N5kWrg0ws6 NGNG
 ┌――――――――――――――――――――――――――――――
 |DXライブラリ
 |ttp://homepage2.nifty.com/natupaji/DxLib/
 |このライブラリ面白い。
 |独習C第五章までの知識しかないけど、簡単なゲームくらいなら作れそう。
 |
 └―v――――――――――――――――――――――――――――    
   @(o・ェ・)@/ ̄ ̄ ̄/ 
    _(__ニつ /kozaru /
     ̄ ̄ ̄ ̄ ̄ ̄
0404一星 ◆Cppn/.YI3. NGNG
┌――――――――――――――――――――
|サーバー崩壊で前いた講師や生徒がわかんなくなってしまった……。
└――――――――v―――――――――――
            ∧_∧
           (゚Д゚;,)
       __| ̄ ̄||_)_
     / /0|――||/旦 /| カタカタ・・・・
     | ̄| ̄ ̄ ̄ ̄ ̄ ̄| . |
     |三|______|/
0405デフォルトの名無しさんNGNG
Good-bye,true java...
Hello,MS-java!
Probably, MS-java is unified into J#.
0406大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|>>403
  おれもこれはよく知らんがおもしろそうだな
  >>404
  修理しろ
  >>405
  あ、そう
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0407バブルボブルレイ ◆Blurayrg5Q NGNG

         | ̄ ̄ |
         |  ___|  
       .._|___|_
        ⊂@(o・ェ・)@つ-、 今日から集中して勉強だ
      ///   /_/:::::/
      |:::|/⊂ヽノ|:::| /」
    / ̄ ̄旦 ̄ ̄ ̄/|
  /______/ | |
  | |-----------| |
0408大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|もさPC何とか直ったみたいだな・・・ 変なパソコンだぜ
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0409一星 ◆Cppn/.YI3. NGNG
┌――――――――――――――――――――
|>>406
|修理とか無理だぞ……。
└――――――――v―――――――――――
            ∧_∧
           (゚Д゚ ;,)
       __| ̄ ̄||_)_
     / /0|――||/旦 /| カタカタ・・・・
     | ̄| ̄ ̄ ̄ ̄ ̄ ̄| . |
     |三|______|/
0410大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|どこが壊れたんだもさ?
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0411一星 ◆Cppn/.YI3. NGNG
┌――――――――――――――――――――
|>>410
|サーバーなくなったじゃん。
└――――――――v―――――――――――
            ∧_∧
           (゚Д゚ ,,)
       __| ̄ ̄||_)_
     / /0|――||/旦 /| カタカタ・・・・
     | ̄| ̄ ̄ ̄ ̄ ̄ ̄| . |
     |三|______|/
0412デフォルトの名無しさんNGNG
>>403
これ、サンプルのソースにはウインドウプロシージャがないね。
確かに、C言語の知識だけで組めそう。
0413hoge ◆9XKoM6BN1w NGNG
>>412
名前入れ忘れた
0414大猿(サーバ) ◆CpEg91wR/w NGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┌――――――――――――――――――――――――――
|>>411
  あーあー 2chのサーバのことか
  この前サーバを用意だとか何とかいってたから一星野郎のPCが壊れたのかと思ってたぜ
  つうかログとってなかったからな・・・ 困った猛者
└―――――v――――――――――――――――――
 |        MNV
 |      @(o・ェ・)@     **講師、生徒随時募集中** 
 |     /     \
  ̄ ̄ ̄/ /\   / ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    _| ̄ ̄ \ /  ヽ \_ 
    \ ̄ ̄ ̄ ̄ ̄ ̄ \__)┻━┻
     ||\            \
     ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄┻━┻
     ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0415正規表現って便利だね ◆CpJava/MoE NGNG
>>403
おもしろそうGood Job(・3・)b
0416正規表現って便利だね ◆CpJava/MoE NGNG
(;・3・)やっとこさコンパイルできた、とりあえずくだらねーモン作ってみTA
    目がやられないように注意

#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){
int Cr;
if(DxLib_Init() == -1){ // DXライブラリ初期化処理
return -1; // エラーが起きたら直ちに終了
}
do{
Cr = GetColor(GetRand(255), GetRand(255), GetRand(255));
switch (GetRand(2)){
case 0:
DrawBox(GetRand(640), GetRand(480), GetRand(640), GetRand(480), Cr, GetRand(1)); // 四角形を描画
break;
case 1:
DrawCircle(GetRand(640), GetRand(480), GetRand(100), Cr, GetRand(1)); // 円を描画
break;
case 2:
DrawTriangle(GetRand(640), GetRand(480), GetRand(640), GetRand(480), GetRand(640), // 三角形を描画
GetRand(480), Cr, GetRand(1));
break;
}
WaitTimer(100);
}while(CheckHitKey(KEY_INPUT_RETURN) != 1); // EnterKeyが押されるまで
DxLib_End(); // DXライブラリ使用の終了処理
return 0; // ソフトの終了
}
0417一星 ◆Cppn/.YI3. NGNG
 DXライブラリーってVC専用じゃんと……_| ̄|○
0418hoge ◆9XKoM6BN1w NGNG
>>416
それでソース全部?

Windowsって感じがしないな
0419デフォルトの名無しさんNGNG
引数って「ひきすう」って読むのかYO
0420正規表現って便利だね ◆CpJava/MoE NGNG
(・3・)一応無料の.NET Framework SDKで出来ましたYO
    おいらもVC持ってないC〜、とりあえずおいらがやったやり方書いときます

.NET Framework ランタイム、SDK、言語パックをダウンロード&インストール
ttp://www.microsoft.com/japan/msdn/netframework/downloads/

環境変数INCLUDEに C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include
環境変数LIBに C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib
環境変数PATHに C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE

これでcl.exeが使えるようになったハズ。

その後Windows Platform SDKをダウンロード&インストール
Core SDKだけでいいのかもしれないがよく分からないのでおいらは全部入れちゃった
ttp://www.microsoft.com/msdownload/platformsdk/sdkupdate/

環境変数INCLUDEに C:\Program Files\Microsoft SDK\include
環境変数LIBに C:\Program Files\Microsoft SDK\Lib
環境変数PATHに C:\Program Files\Microsoft SDK\Bin

これでWindowsプログラムが作れるようになったハズ(なのか?)

そしてDirectX SDKをダウンロード&インストール
ttp://www.microsoft.com/japan/msdn/directx/downloads.asp

環境変数INCLUDEに C:\DX90SDK\Include
環境変数LIBに C:\DX90SDK\Lib

これでDirectXが使えるようになったはず(なのか?)

そしてDXライブラリをゲットしてソースのあるフォルダに\プロジェクトに追加すべきファイル 以下のファイルを全部入れて
コンパイルオプション?に ole32.lib user32.lib gdi32.lib を指定してやればたぶんOK。
0421正規表現って便利だね ◆CpJava/MoE NGNG
(;・3・)入れるモン多いな…

>>418
(・3・)ほんとにCの知識で出来る感じだNE〜
■ このスレッドは過去ログ倉庫に格納されています