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

C言語のことは俺に聞け<45>

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
まず問題を冷静に吟味してCの話か否かをはっきりさせてから質問しろ。
むしろ質問する前にWEBで検索するのが常識だ。

GUIなどの標準Cではできない事の質問は使用している開発環境のスレへ行け。
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへ行け。

入門書レベルの質問はC言語質問所スレへ行け。

コンパイラを探しているなら >>2 を見よ。

上記を逸した場合の結果は激しく未定義とする。

C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/

前スレ
http://pc3.2ch.net/test/read.cgi/tech/1037796472/
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

00032003年は午年NGNG
  _ハ、            _ハ、
 (- ・  ヾ          (- ・  ヾ
   ̄\  ヾ          ̄\  ヾ   
    (     ̄ ̄ ̄ヽヾ、    (     ̄ ̄ ̄ヽヾ、
     |        〈  ゞ   |        〈  ゞ
    / /| | ̄ ̄/ / | |     / /| | ̄ ̄/ / | |
    // ヽニニ// ヽニニl.  // ヽニニ// ヽニニl
   //     //.        //     //
   `       `        .`       `
0004過去スレNGNG
43 http://pc3.2ch.net/test/read.cgi/tech/1037281411/
42 http://pc3.2ch.net/test/read.cgi/tech/1037101156/
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
0005過去スレ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
0006デフォルトの名無しさんNGNG
いいかげんにしろ
0007デフォルトの名無しさんNGNG
このスレは冗談で作られたニセスレです。ageないようにお願いします。

本物は↓こちら
C言語質問所 <45>
http://pc3.2ch.net/test/read.cgi/tech/1038324550/l50
0008デフォルトの名無しさんNGNG
>>1
乙かれ〜

しばらく厨房が騒ぐでしょうが、マタ〜リいきましょう。
0009デフォルトの名無しさんNGNG
        まもなくここは 乂1000取り合戦場乂 となります。

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

http://big.freett.com/scheme_a/num1000.swf
0010デフォルトの名無しさんNGNG
ここも荒れるな
0011あぼーんNGNG
あぼーん
0012あぼーんNGNG
あぼーん
0013デフォルトの名無しさんNGNG
>>1

>入門書レベルの質問はC言語質問所スレへ行け。

これは失敗だったな。もうすぐ無くなるスレへ行けとは。
0014デフォルトの名無しさんNGNG
なんで重複スレ立てまくるんだ?

C言語質問所 <45>
http://pc3.2ch.net/test/read.cgi/tech/1038324550/

↑を再利用すればいいじゃねーか
0015あぼーんNGNG
あぼーん
0016あぼーんNGNG
あぼーん
0017あぼーんNGNG
あぼーん
0018西門 ◆J1DLkSnXwI NGNG
>>JPS

(last_char_was_1 == ' ')という式の値は必ず0か1になります。
0019あぼーんNGNG
あぼーん
0020西門 ◆J1DLkSnXwI NGNG
まちがい。スマソ
(last_char_was_space == ' ')という式の値は必ず0か1になります。
0021あぼーんNGNG
あぼーん
0022あぼーんNGNG
あぼーん
0023あぼーんNGNG
あぼーん
0024デフォルトの名無しさんNGNG
>荒らしてる香具師
つーか、質問所スレで論争になったらなったで文句言うくせに。
矛盾してるって。
0025あぼーんNGNG
あぼーん
0026あぼーんNGNG
あぼーん
0027デフォルトの名無しさんNGNG
>>20
おまえさー、常識とかないわけ?
こんな無駄遣いすれたてて恥ずかしいとか思わないの?
俺はおまえみたいなのが同じCをやっていると思うと恥ずかしいよ。
0028デフォルトの名無しさんNGNG
     \ 馬 /   \ 鹿 /
               ∩     ∩
               | つ   「,"|
        ヾ∧     !,'っ_ ⊂_,!
      / ・ |ミ    /  ・ ヽつ
     (_'...  |ミ   ▼,__  |
      (゚Д゚; )..|ミ     (゚Д゚ ,)・|
      (|  .、)|      (|   、)|
       |    |       |   ・・|
       ヽ.._人     ヽ._・ν
       U"U        U"U
0029デフォルトの名無しさんNGNG
>>20
あのコードだが、
nt ch, last_ch;
while ((ch = getchar()) != EOF) {
 if (ch != ' ' || last_ch != ' ')
  putchar(ch);
 last_ch = ch;
}
で良いのでは?
0030あぼーんNGNG
あぼーん
0031あぼーんNGNG
あぼーん
0032あぼーんNGNG
あぼーん
0033あぼーんNGNG
あぼーん
0034デフォルトの名無しさんNGNG
>>20
じゃあ、xが整数のとき、!xの値はどうなるの?
0035あぼーんNGNG
あぼーん
0036あぼーんNGNG
あぼーん
0037あぼーんNGNG
あぼーん
0038あぼーんNGNG
あぼーん
0039あぼーんNGNG
あぼーん
0040あぼーんNGNG
あぼーん
0041西門 ◆J1DLkSnXwI NGNG
>>34
>じゃあ、xが整数のとき、!xの値はどうなるの?

0か1になります。
0042あぼーんNGNG
あぼーん
0043デフォルトの名無しさんNGNG
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
0044西門 ◆J1DLkSnXwI NGNG
>>29
そっちの方が良いかも。
0045デフォルトの名無しさんNGNG
ここにゲ製作板の房が流れ込んできたかな・・・
0046あぼーんNGNG
あぼーん
0047デフォルトの名無しさんNGNG
だめだこりゃ
0048デフォルトの名無しさんNGNG
>>41
うそだろ?
0049あぼーんNGNG
あぼーん
0050あぼーんNGNG
あぼーん
0051あぼーんNGNG
あぼーん
0052あぼーんNGNG
あぼーん
0053あぼーんNGNG
あぼーん
0054デフォルトの名無しさんNGNG
まあ、1日も立てば落ち着くだろう。
しばらくすればニセスレのほうも削除されるだろうし。
厨ども、せいぜいがんがれや。いくら荒らしても無駄だがナー
0055あぼーんNGNG
あぼーん
0056あぼーんNGNG
あぼーん
0057あぼーんNGNG
あぼーん
0058あぼーんNGNG
あぼーん
0059あぼーんNGNG
あぼーん
0060デフォルトの名無しさんNGNG

ビクッ. ∧ ∧ ∧ ∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  Σ(゚Д゚;≡;゚д゚) < うお!なんかすごいところに迷い込んじまったぞゴルァ!
     ./ つ つ    \______________________
  〜(_⌒ヽ ドキドキ
     )ノ `Jззз
0061あぼーんNGNG
あぼーん
0062あぼーんNGNG
あぼーん
0063あぼーんNGNG
あぼーん
0064あぼーんNGNG
あぼーん
0065デフォルトの名無しさんNGNG
まあ荒らしてるのは偽スレの1なんだろうなぁ・・・
0066あぼーんNGNG
あぼーん
0067あぼーんNGNG
あぼーん
0068デフォルトの名無しさんNGNG
でも何で連続投稿できるのだろう・・・?
0069あぼーんNGNG
あぼーん
0070あぼーんNGNG
あぼーん
0071デフォルトの名無しさんNGNG
   |
_ー|ー|-┐     __|_     ̄──
   |  ノ   ヽ/ |  ヽ     /
   |     /丶/   |   |
    |     し^ヽ   /    \


         ヽ(;´Д`)ノ
0072デフォルトの名無しさんNGNG
>>65>>68
放置しろ。
0073デフォルトの名無しさんNGNG
   |
_ー|ー|-┐     __|_    ー十 ̄ \  /      ─_
   |  ノ   ヽ/ |  ヽ    |      |   \    フ ヽヽ
   |     /丶/   |    _ |     ∨   |  /
    |     し^ヽ   /    \/\           \


                ヽ(;´Д`)ノ
0074デフォルトの名無しさんNGNG
見慣れたAAコピペばかりでつまらない…
0075デフォルトの名無しさんNGNG
一つ気づいた!
荒らしてる奴らは実はこのスレを偽スレよりもレスを多くするため仕方なく荒らしてるんだ!
そして偽スレと圧倒的差がついたころにこっちのほうが賑わってるとか言って平和的に向こうを潰す気だ
0076デフォルトの名無しさんNGNG
こんなことしても偽スレは復活しないよ。
0077あぼーんNGNG
あぼーん
0078デフォルトの名無しさんNGNG
とりあえず謝っとく。
正直、すまなかった。
0079デフォルトの名無しさんNGNG
>>75
なるほど。
荒らしじゃなくて助けてくれてるんだね。
0080デフォルトの名無しさんNGNG
>>75
一つ気づいた!
そうやってコピペを止めようとしているんだな。
無駄だ。コピペは止まらない。
0081デフォルトの名無しさんNGNG
>>48
本当だよ。
0082あぼーんNGNG
あぼーん
0083あぼーんNGNG
あぼーん
0084あぼーんNGNG
あぼーん
0085拾ってきたNGNG
18 :西門 ◆J1DLkSnXwI :02/11/27 23:09
  >>JPS

  (last_char_was_1 == ' ')という式の値は必ず0か1になります。

20 :西門 ◆J1DLkSnXwI :02/11/27 23:10
  まちがい。スマソ
  (last_char_was_space == ' ')という式の値は必ず0か1になります。

29 :デフォルトの名無しさん :02/11/27 23:13
  >>20
  あのコードだが、
  nt ch, last_ch;
  while ((ch = getchar()) != EOF) {
   if (ch != ' ' || last_ch != ' ')
    putchar(ch);
   last_ch = ch;
  }
  で良いのでは?
0086あぼーんNGNG
あぼーん
0087拾ってきたNGNG
34 :デフォルトの名無しさん :02/11/27 23:15
  >>20
  じゃあ、xが整数のとき、!xの値はどうなるの?

41 :西門 ◆J1DLkSnXwI :02/11/27 23:18
  >>34
  >じゃあ、xが整数のとき、!xの値はどうなるの?

  0か1になります。

44 :西門 ◆J1DLkSnXwI :02/11/27 23:19
  >>29
  そっちの方が良いかも。

48 :デフォルトの名無しさん :02/11/27 23:20
  >>41
  うそだろ?
0088あぼーんNGNG
あぼーん
0089あぼーんNGNG
あぼーん
0090デフォルトの名無しさんNGNG
同じ AA の繰り返しでもつまんねーよ。
何か芸しろ。
0091デフォルトの名無しさんNGNG
ほんとだよ!
xが実数でも !x は整数の0か1になるよ。
0092デフォルトの名無しさんNGNG
>>90
そうやって煽るから...
0093デフォルトの名無しさんNGNG
>>48
! と ~ を混同していないか?

http://www.catnet.ne.jp/kouno/c_faq/c9.html#2
> 組み込みの演算子によってブー ル値が産み出されるときは、1か0であることが保証されている。
0094デフォルトの名無しさんNGNG
あげ
0095デフォルトの名無しさんNGNG
レス数抜けばこっちが事実上本スレに!!
0096デフォルトの名無しさんNGNG
をを。
荒らしの美奈さん御苦労。
0097デフォルトの名無しさんNGNG
美奈タンが荒らしていたのか・・・。
0098デフォルトの名無しさんNGNG
レス数抜いたぞ!
こっちが本スレだ!・・・元からだけど
0099デフォルトの名無しさんNGNG
なぜ論理演算子にXORがないんだろう?
ビット演算子にはあるのに。
0100デフォルトの名無しさんNGNG
でも、テンプレは気に入らん。
書いとこ。
--
まず問題を冷静に吟味してCの話か否かをはっきりさせてから質問しろ。
むしろ質問する前にWEBで検索するのが常識だ。

コンパイラを探しているなら >>2 を見よ。

質問は 「通じる日本語」 を書け。
具体的には、少なくとも訊き返されないように十分な情報を盛りこみ、
「オレ語」 は使うな。

GUIなどの標準Cではできない事の質問は使用している開発環境のスレへ行け。
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへ行け。
入門書レベルの質問はC言語質問所スレへ行け。

上記を逸した場合の結果は激しく未定義とする。

なお、自助努力のうかがえない香具師は冷たくあしらわれる。

C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/

前スレ
c[44] = "http://pc3.2ch.net/test/read.cgi/tech/1038324550/";
0101デフォルトの名無しさんNGNG
>>99
(゚Д゚)ハァ?

^ は?
0102101NGNG
スマソ、論理演算子ね。
0103デフォルトの名無しさんNGNG
0104デフォルトの名無しさんNGNG

>質問は 「通じる日本語」 を書け。
>具体的には、少なくとも訊き返されないように十分な情報を盛りこみ、
>「オレ語」 は使うな。
こんなのいらんよ。つーか、書いても無駄だと思う。

>入門書レベルの質問はC言語質問所スレへ行け。
そんなスレいらない。つーか、なくなるし。

>なお、自助努力のうかがえない香具師は冷たくあしらわれる。
これも冗長だよ、「WEBで検索」「激しく未定義」でいいじゃん。
テンプレ長いのカコワルイ
0105名無しさん@XEmacsNGNG
>>102
ビット演算子で事足りるから
0106デフォルトの名無しさんNGNG
>>105
えーっと、
(!!x)^(!!y)
とか?
0107デフォルトの名無しさんNGNG
>>104
それを言ったら、

> GUIなどの標準Cではできない事の質問は使用している開発環境のスレへ行け。
> ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへ行け。

これすら必要無い。
でも

> 入門書レベルの質問はC言語質問所スレへ行け。

これが要らないのには同意。
0108デフォルトの名無しさんNGNG
>>104
読まれているかどうかもわからないテンプレに、何でそれを書いて欲しいという
要望が出るか理解してるか?
0109デフォルトの名無しさんNGNG
本スレ争い(みっともない)でレス消費するのは止めろバカ。
両方いかせばいいだろうがバカ。
0110名無しさん@XEmacsNGNG
>>106
まぁそんな感じ
0111デフォルトの名無しさんNGNG
こっちが本当の雑談スレでつか?
0112デフォルトの名無しさんNGNG
>>106
いや、普通は条件が2つあるだろうから、
単に
(x > 0) ^ (y < 0)
とかでいいんじゃないの?
0113デフォルトの名無しさんNGNG
>>112
でも、条件が両方とも評価されちゃうジャン。
0114デフォルトの名無しさんNGNG
>>113
xorで両方評価しない方法があったら教えてほすぃ。
0115デフォルトの名無しさんNGNG
最近c言語を勉強し始めたものです。
あるサイトに
?#include<stdio.h>

int main()
{
int a, b;
printf("a,bを入力してください。n");
scanf("%d %d",&a, &b);
printf("a = %d b = %dn", a, b);
printf("a + b = %dn", a + b);
printf("何かキーを押してくださいn");
getchar();
printf("End");
return 0;
}
このように書いてあって実行すると、
printf("a,bを入力してください。n");の前に
scanf("%d %d",&a, &b);これがはいってきてgetcharと同時に操作が行われてしますようです。
これはどこか間違っているのでしょうか?
0116113NGNG
>>114
はあ?
0117デフォルトの名無しさんNGNG
どっちが本スレ?
0118デフォルトの名無しさんNGNG
>>116
xor のおさらいしてきたほうが良いかと
0119デフォルトの名無しさんNGNG
>>117
こっちが偽スレ
0120デフォルトの名無しさんNGNG
>>115
入力時に半角スペースを間に入れたか?
0121デフォルトの名無しさんNGNG
>>117
何かについてわからなければ、わからないという事が助けになるかも知れない。
0122デフォルトの名無しさんNGNG
>>115
scanfは改行文字の前で入力を読み取るのを止める。
(正確には、いったん読んだ改行文字をungetcする)

getchar()はその改行文字を読み取って直ちに返ってきてしまう。
0123デフォルトの名無しさんNGNG
>>115
>入門書レベルの質問はC言語質問所スレへ行け。
C言語質問所
http://pc3.2ch.net/test/read.cgi/tech/1038324550/l50
0124113NGNG
そうかー、必ず両方評価しなきゃ駄目か。
0125デフォルトの名無しさんNGNG
>>109
バカは余計
0126デフォルトの名無しさんNGNG
>>123 は荒らしだな。放置。
0127デフォルトの名無しさんNGNG
>>124
一体 XOR に何を求めていたんだ?
0128デフォルトの名無しさんNGNG
みなさんレスありがとうございます。
これだけいわれてもまだ理解できません。
具体的な直し方を教えていただけないでしょうか?
0129デフォルトの名無しさんNGNG
↑は115です。
0130デフォルトの名無しさんNGNG
>>128
何の?どこの?
0131デフォルトの名無しさんNGNG
>>115 ?
0132デフォルトの名無しさんNGNG
つーか、普通にC言語質問所とおなじことするんだったら削除される
のはこっちだと思う。タイトルの伝統はどうあれ先に立ったほうが
優先されるから。どうせ統合になったらなったで、論争が起これば
文句が出ることはすでにわかってることだ。だったら、Cスレが2つ
あってもいいと思うのだが。
0133デフォルトの名無しさんNGNG
>>115
getchar()で止めたいってことでしょ?
0134デフォルトの名無しさんNGNG
getch();
conio.h
遣え!
0135デフォルトの名無しさんNGNG
>>128
すまんが、ここは添削スレじゃないんだ。
0136デフォルトの名無しさんNGNG
>>132
アフォ。

むこうは、こっちの旧スレがまだ600かそこらのときに
重複して立てたんだよ! その時点で考えれば、むこうは
後で立ったの。
0137デフォルトの名無しさんNGNG
>>135
またそうやって荒らす。
0138デフォルトの名無しさんNGNG
>>132
どっちでも質問してどっちでも論争してたじゃねーか。
まったくおんなじスレ2つ作ってどうするよ?
0139115NGNG
上から順番にならないんです。
printf("a,bを入力してください。n"); これより先に
scanf("%d %d",&a, &b); を読んじゃうんです。
あとgetcharでもとまりません。
0140132NGNG
というわで、
>入門書レベルの質問はC言語質問所スレへ行け。
を守って、そういう質問は向こうにきっちり誘導して差別化をはかるってのが
いいと思うのだが。
0141デフォルトの名無しさんNGNG
>>139
どういうOSで何というコンパイラを使った?

あと、"してください。\n"じゃなくて"してください。n"と書いちゃったのか?
0142デフォルトの名無しさんNGNG
>>137
スレ違い指摘の何が荒らしなんだ?

>>139
添削スレに逝ってくれ。
http://pc3.2ch.net/test/read.cgi/tech/1021881540/l50
0143デフォルトの名無しさんNGNG
>>142
いや、もともと俺に聞けスレの範疇だったような気がするぞ。
0144デフォルトの名無しさんNGNG
>>139
#include <conio.h>して
getch(); 使え!るか??
0145デフォルトの名無しさんNGNG
>>143
つまり、1 の 「ソース丸投げ禁止」 は何の効力も持っていないと訴えたいわけか?
0146デフォルトの名無しさんNGNG
こんなところか?

#include<stdio.h>

int main(void)
{
  int a, b, ret;
  char buf[256];
  do {
    printf("a, b を入力してください: ");
    fgets(buf, sizeof(buf), stdin);
    ret = sscanf(buf, "%d %d", &a, &b);
  } while(ret < 1);
  ret--;
  while(ret < 1) {
    printf("a = %d, b を入力してください: ", a);
    fgets(buf, sizeof(buf), stdin);
    ret = sscanf(buf, "%d", &b);
  }
  printf("a = %d, b = %d\n", a, b);
  printf("a + b = %d\n", a + b);
  printf("何かキーを押してください:");
  getchar();
  printf("End");
  return 0;
}
0147JPS ◆M0LaMzf5rY NGNG
>>144
getcheでは?
0148デフォルトの名無しさんNGNG
>>147
数字以外のキーのエコーを認めるのか?
0149デフォルトの名無しさんNGNG
本スレ逆転したんですね。
0150デフォルトの名無しさんNGNG
getch() 使ってみた。

#include<stdio.h>
#include<conio.h>
#include<ctype.h>

void key_cushion(void) { while(kbhit()) getch(); }
int get_int(const char *s)
{
  int ret = 0, col = 0; char c;
  printf("%s を入力してください: ", s); key_cushion();
  while(c = getch(), c != '\r' && c != '\n') {
    if(isdigit(c) && col < 8) { putchar(c); ret = ret * 10 + c - '0'; col++; }
    else if(c == '\b' && col) { printf("\b \b"); ret /= 10; col--; }
  }
  putchar('\n');
  return ret;
}

int main(void)
{
  int a = get_int("a"), b = get_int("b");
  printf("a = %d, b = %d\n", a, b);
  printf("a + b = %d\n", a + b);
  printf("何かキーを押してください:");
  key_cushion(); getch();
  printf("\nEnd");
  return 0;
}
0151146=150NGNG
ダメ出しは無いかい?
getch() バージョンの入力は自由ではないが。
0152デフォルトの名無しさんNGNG
煽られないと不安になるな。
0153デフォルトの名無しさんNGNG
sukiyaki!
0154デフォルトの名無しさんNGNG
ヒヒヒヒヒ

#include<stdio.h>
#include<ctype.h>
int main(void)
{
  char key[] = "A52A2245332A252B435B2222A2B2A2A23A2C32A3B5B2222A52B43532A2352C23A52A2246D2A3533B35K2A4D22A3224A45D2C25B2A32A5D2C25D4A26C4A1";
  char *p = key;
  int i, c, b = 1;
  while(*p) {
    c = 0;
    for(i = 0; i < 8; i++) {
      if(*p == '0') {
        if(!*++p)
          break;
        b = !b;
      }
      c <<= 1;
      c += b;
      if((*p)-- == 'A')
        *p = '0';
      if(isupper(*p))
        b = !b;
    }
    if(c)
      putchar(c);
  }
  getchar();
  return 0;
}
0155デフォルトの名無しさんNGNG
ヒヒヒヒヒ

#include <stdio.h>
#define a do
#define b ]
#define c return
#define d fopen
#define e (
#define f fputc
#define g fclose
#define h ".smw"
#define i =
#define j FILE *
#define l -
#define m 3
#define n [
#define o +
#define p ;
#define q int
#define r )
#define s while e z r
#define t {
#define u &
#define w main
#define y }
q k e j r p q z i l m p q w e r t j x i d e u e e m o z r n h b r, u e m n h b r r p k e x r p g e x r p c z p y q k e j v r t a t f e e m o z r n h b, v r p y s p c m p y
0156デフォルトの名無しさんNGNG
>>155
154 に比べると全然おもろくないぞ。
0157デフォルトの名無しさんNGNG
こうだ

int getchar();int putchar(int);int main(){char k[]="A52A2245332A252B435B2222A2"
"B2A2A23A2C32A3B5B2222A52B43532A2352C23A52A2246D2A3533B35K2A4D22A3224A45D2C25B"
"2A32A5D2C25D4A26C4A1",*p=k;int i,c,b=1;while(*p){c=0;for(i=0;i<8;i++){if(*p==
'0'){if(!*++p)break;b=!b;}c=(c<<1)+b;if((*p)--=='A')*p='0';if(*p >= 'A')b=!b;}
if(c)putchar(c);}getchar();return 0;}
0158デフォルトの名無しさんNGNG
>>157
7行プログラミングスレのコピペかよ
0159デフォルトの名無しさんNGNG
>>158
原本は 155 ですが何か?
そもそもコピペではありませんが何か?
0160159NGNG
原本は 154 ですた・・・
0161デフォルトの名無しさんNGNG
本スレあげ
0162デフォルトの名無しさんNGNG
スクリプト言語しか作れない俺はだめですか?
0163デフォルトの名無しさんNGNG
>>162
言語が作れるならなかなか大したものだと思うが。
0164162NGNG
>>163
でも本格的なコンパイラを作るのができない。
マシン語ができないから。
0165デフォルトの名無しさんNGNG
>>164
じゃあ、Cにコンパイルすればよい。
後はCコンパイラに任せる。
0166162NGNG
>>165
My言語をCにコンパイルしてそれを別のCコンパイラにコンパイルさせるメリットがないきがする。
だれも使ってくれなさそう。
0167デフォルトの名無しさんNGNG
何度やってもエラーになります。どこが違うんでしょうか?
ソース↓

#include<stdio.h>

main()

{
int a;

printef("Hello world!\n");
}
0168デフォルトの名無しさんNGNG
#include<stdio.h>

main()

{
int a;

//printef("Hello world!\n");
}
0169デフォルトの名無しさんNGNG
>>167
#include<stdio.h>

main()

{
int a;

printef("トロイの木馬をインストールしました!\n");
}

0170デフォルトの名無しさんNGNG
>>167
main関数の引数が書いてないよ。
0171デフォルトの名無しさんNGNG
>>165
C言語にコンパイルすると、いろんな環境で走るから、
使ってもらいやすくなる。現にそういう処理系はたくさんある。
0172デフォルトの名無しさんNGNG
>>sourceを別のテキストへ書いている。
0173デフォルトの名無しさんNGNG
#include<stdio.h>

int main(void);

{
int a;

printef("Hello world!\n",a);
}
0174デフォルトの名無しさんNGNG
>>172
???
0175デフォルトの名無しさんNGNG
初期の頃のC++って、Cのコードに変換かけてCコンパイラにコンパイル
させてたという噂が、、、
0176デフォルトの名無しさんNGNG
エラーコードは?
0177デフォルトの名無しさんNGNG
何故素直に printf を使わないんだろう
0178デフォルトの名無しさんNGNG
>>175
エキスパートCを読んだね。
0179デフォルトの名無しさんNGNG
#include<stdio.h>

printef(char *s,int a){
printf("%s",s);
}
int main(void);

{
int a;

printef("Hello world!\n",a);
}
プリントエフって言葉で聞いたんでしょ。
0180教えてくださいNGNG
最小値は求まるんですが、最大値がわけわからん数値になります・・
どこが間違えているのでしょうか?
#include<stdio.h>
#define NUM 4

main()
{
int suuji[NUM];
int i;
int min;
int max;

min=suuji[0];
max=suuji[0];

printf("4つの値を入力してください。\n");
for(i=0; i<NUM; i++){
scanf("%d",&suuji[i]);
if(min > suuji[i])
min=suuji[i];
if(max < suuji[i])

max=suuji[i];
}
printf("最大値は%dで、最小値は%dです。\n",max,min);
}
0181デフォルトの名無しさんNGNG
最初、suuji[0]に何が入っているか?
0なら?ランダムなら?
0182デフォルトの名無しさんNGNG
>>180
それはコンパイラのバグです。もっといいコンパイラを使いましょう。
そのバグを避けるにはminとmaxの宣言を以下のようにしてください。
static int min;
static int max;
0183182NGNG
>>180
ごめんちがった。
static int suji[NUM];
ってしてね。
0184デフォルトの名無しさんNGNG
おいおいキティガイが発生したぞ。
0185教えてくださいNGNG
>>182 やってみたんですが、今度は最小値がおかしくなりました・・
0186デフォルトの名無しさんNGNG
だからauto変数は初期値未定だっツノ
0187名無し@沢村NGNG
>>180
それはsuujiとminとmaxを最初初期化しておけばいいです。
0188教えてくださいNGNG
>>184
おいアホは黙ってろ
0189デフォルトの名無しさんNGNG
>>185
こうしる!
int suuji[NUM] = {0};
0190182NGNG
>>186
だからstaticなら初期化してあるじゃん
0191デフォルトの名無しさんNGNG
そんなへんなstaticの使い方するなよ
0192デフォルトの名無しさんNGNG
>>189
もう一人のキティが発生した
0193デフォルトの名無しさんNGNG
suuji[0]に値が入ってから、min,maxに代入するとか、
max=0;min=INT_MAX;としておくとか・・・。
min=32767;...
0194デフォルトの名無しさんNGNG
>>188
あ゛ぁ゛ーー!?!?!?
もういっぺん言ってみろコラ!!!
0195デフォルトの名無しさんNGNG
誰もいっとらんわ!

      書いとるんじゃ!
0196名無し@沢村NGNG
完璧なコード

#include<stdio.h>
#define NUM 4

main()
{
int suuji[NUM];
int i;
int min;
int max;
for(i=0; i<NUM; i++)
{suuji[i]=0;}
min=max=0;

printf("4つの値を入力してください。\n");
for(i=0; i<NUM; i++){
scanf("%d",&suuji[i]);
if(min > suuji[i])
min=suuji[i];
if(max < suuji[i])

max=suuji[i];
}
printf("最大値は%dで、最小値は%dです。\n",max,min);
}
0197182NGNG
>>191
悪かったよ

>180
グローバル変数で宣言しろ
0198デフォルトの名無しさんNGNG
うちのとこだと、INT_MIN と INT_MAX がlimits.hに定義されてるんだけどね
ANSIなのかな、コレ
max=INT_MIN;
min=INT_MAX;
0199デフォルトの名無しさんNGNG
0でMAXを初期化していいんかいな、、、
すべてマイナスだった場合(以下略)
0200デフォルトの名無しさんNGNG
if(i==0){
max=suuji[i];//iは0でも可
min=suuji[i];
}
これいれといてもいいぞ。
0201182NGNG
>>196
あんた頭悪すぎ。minを0で初期化してどーすんだ、ごらぁ
0202教えてくださいNGNG
どれが合ってんの?一体
0203182NGNG
>>196
とおもってよく見たらよかった。正直悪かったな。
0204デフォルトの名無しさんNGNG
>>202
196があってる
auto変数はとりあえず初期化しなさい。
0205デフォルトの名無しさんNGNG
なんで196があってんだ???
0206デフォルトの名無しさんNGNG
>>202

ちなみにコンパイラがどうこうというのとかは初心者を惑わすためのいぢわるだと思われるので信用しないように
0207デフォルトの名無しさんNGNG
なんで196があってるの?
全部に5入れても、minに0入るだろ
look at >>200.
0208207NGNG
forのすぐ下に入れときゃ良い。
0209204NGNG
ごめん >>204 は勘違いだ 取り消す。
紛らわしくて済まん。

0210教えてくださいNGNG
これぐらい即答してよ・・
0211名無し@沢村NGNG
皆々様方〜、いろいろありあとうございました、皆々様方〜!
私はここでコールバックタイマーを使用しろとか、複数トラックのデータをマージしてひとつのデータにまとめろとか、いろいろなアドバイスをいただきました。
でもはっきりいってそんな面倒なことはしたくなかったんです…。
はっきりいって手抜きに近い楽なやりかたで複数トラックをちゃんと演奏する方法を見つけたかったんです。
でもついにその方法が見つかったんです!!
その完璧なルーチンをここに乗せますから、皆様方も楽にmidiシーケンサーをつくるときの参考にしてください、皆々様方〜!

for(i=0;i<=i_Sum_Track[i_longest_Track];i++)
{for(l=0;l<16;l++)
{t[l]=0;
if(CodeCount[l]!=0)
{for(jj[l]=0;jj[l]<Onpu_Index[l];jj[l]++)
{kk[l]=jj[l]*8;
if(i==t[l] )
{
_Multi_Time[l]= timeGetTime();
midiOutShortMsg(hMidiOut, 0xC0+l+ ((i_gattuki[l]) * 0x100));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((7) * 0x100)+((possrider[l]) * 0x10000));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((8) * 0x100)+((possrider_b[l]) * 0x10000));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((10) * 0x100)+((possrider_s[l]) * 0x10000));
midiOutShortMsg(hMidiOut, (DataCode[l][kk[l]]) + (DataCode[l][kk[l]+1] * 0x100)+(DataCode[l][kk[l]+2] * 0x10000)); // Note On}
t[l]+=DataCode[l][kk[l]+3];
if(i==t[l] ) { while (Play_Tempo(DataCode[l][kk[l]+3])>=timeGetTime()-_Multi_Time[l]);
midiOutShortMsg(hMidiOut,(DataCode[l][kk[l]+4])+ (DataCode[l][kk[l]+5] * 0x100)+(DataCode[l][kk[l]+6] * 0x10000)); // Note Off } }} }}
0212180NGNG
なんか途中から僕の偽者がでてきたみたいですが、
勉強になりました。みなさんありがとうございました。
0213デフォルトの名無しさんNGNG
ウンコソース

#include<stdio.h>
#define NUM 4

main()
{
int suuji[NUM];
int i;
int min;
int max;



printf("4つの値を入力してください。\n");
for(i=0; i<NUM; i++){
scanf("%d",&suuji[i]);
if(i==0) {
min=suuji[0];
max=suuji[0];
}
if(min > suuji[i])
min=suuji[i];
if(max < suuji[i])
max=suuji[i];
}
printf("最大値は%dで、最小値は%dです。\n",max,min);
return 0;
}
0214デフォルトの名無しさんNGNG
printf("4つの値を入力してください。\n");
scanf("%d", &suuji[0]);
min= max= suuji[0];
for(i=1; i<NUM; i++){
scanf("%d",&suuji[i]);
if (min > suuji[i])
min=suuji[i];
else if(max < suuji[i])
max=suuji[i];
}
printf("最大値は%dで、最小値は%dです。\n",max,min);
0215デフォルトの名無しさんNGNG
#include <stdio.h>
#define NUM 4
main(){
int i,suuji[NUM],max,min;
printf("4つの値を入力してください。\n");
scanf("%d", &suuji[0]);
min= max= suuji[0];
for(i=1; i<NUM; i++){
scanf("%d",&suuji[i]);
min>suuji[i]?min=suuji[i]:max<suuji[i]?max=suuji[i]:1;
}
printf("max is %d and min is %d.\n",max,min);
return 0;
}
0216名無し@沢村NGNG
皆々様方〜、いろいろありあとうございました、皆々様方〜!
私はここでコールバックタイマーを使用しろとか、複数トラックのデータをマージしてひとつのデータにまとめろとか、いろいろなアドバイスをいただきました。
でもはっきりいってそんな面倒なことはしたくなかったんです…。
はっきりいって手抜きに近い楽なやりかたで複数トラックをちゃんと演奏する方法を見つけたかったんです。
でもついにその方法が見つかったんです!!
その完璧なルーチンをここに乗せますから、皆様方も楽にmidiシーケンサーをつくるときの参考にしてください、皆々様方〜!

for(i=0;i<=i_Sum_Track[i_longest_Track];i++)
{for(l=0;l<16;l++)
{t[l]=0;
if(CodeCount[l]!=0)
{for(jj[l]=0;jj[l]<Onpu_Index[l];jj[l]++)
{kk[l]=jj[l]*8;
if(i==t[l] )
{
_Multi_Time[l]= timeGetTime();
midiOutShortMsg(hMidiOut, 0xC0+l+ ((i_gattuki[l]) * 0x100));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((7) * 0x100)+((possrider[l]) * 0x10000));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((8) * 0x100)+((possrider_b[l]) * 0x10000));
midiOutShortMsg(hMidiOut, 0x0000B0+l+ ((10) * 0x100)+((possrider_s[l]) * 0x10000));
midiOutShortMsg(hMidiOut, (DataCode[l][kk[l]]) + (DataCode[l][kk[l]+1] * 0x100)+(DataCode[l][kk[l]+2] * 0x10000)); // Note On}
t[l]+=DataCode[l][kk[l]+3];
if(i==t[l] ) { while (Play_Tempo(DataCode[l][kk[l]+3])>=timeGetTime()-_Multi_Time[l]);
midiOutShortMsg(hMidiOut,(DataCode[l][kk[l]+4])+ (DataCode[l][kk[l]+5] * 0x100)+(DataCode[l][kk[l]+6] * 0x10000)); // Note Off } }} }}
0217訂正215NGNG
#define NUM 4
main(){
int i,suuji[NUM],max,min;
>printf("%dつの値を入力してください。\n",NUM);
0218デフォルトの名無しさんNGNG
>>216
マルチはせんといて
0219デフォルトの名無しさんNGNG
また沢村かよ・・・
0220デフォルトの名無しさんNGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 | 大盛りねぎだくギョク |
 |_________|
    ∧∧ ||
    ( ゚д゚)||
    / づΦ
0221デフォルトの名無しさんNGNG
本スレage
0222デフォルトの名無しさんNGNG
「アルゴリズムとデータ構造」スレより移動

今、16KBのメモリブロックがあって、その中に
struct x {
    int n;
    char d[];
};
をなるべくたくさん並べたい。(ただし、d[]の実体の長さは
どれも同じで、実行時に決まる。Lとしましょう。)

どうやればポータブルにalignmentできる?
0223デフォルトの名無しさんNGNG
d[]の実体の長さはどれも同じで、実行時に決まる。
ってなに?
0224デフォルトの名無しさんNGNG
長さがsizeのバイトデータを、ある構造体Aの配列の大きさに
収めるために、sizeに必要なAの個数を求たいんですが、
現在以下の様に計算してます。

size/sizeof(A) + (size%sizeof(A) ? 1 : 0)

sizeof(A)=10です。
Aのサイズが2の乗数だったらシフトとAND演算子が使えたんですが、
半端なので割り算を使ってます。
これより良い方法はないでしょうか?
0225デフォルトの名無しさんNGNG
(size + sizeof(A) - 1) / sizeof(A)
0226デフォルトの名無しさんNGNG
>>223

>>222の書き方は、可変長の構造のヘッダを書くための定石で、
struct x *x1;
x1->d[i] = ...;
とか書くわけ。
http://seclan.dll.jp/c99d/c99d04.htm#dt19990726
そのヘッダをどう整列するかという話。
0227デフォルトの名無しさんNGNG
0228224NGNG
>>225
即レスありがとうございます。
なんかそれでいけそうです。
どうもでした!
0229デフォルトの名無しさんNGNG
>>226
普通に割り算するんじゃ駄目なの?
0230デフォルトの名無しさんNGNG
>>229
余りがあるときに違う。
0231デフォルトの名無しさんNGNG
    char d[];
なんてできるの?
0232デフォルトの名無しさんNGNG
>>226
struct x {
    int n;
    char d[1];
};
の間違いじゃないのか?
d[]; だの d[0]; だのは通らなかったり警告出たりしないか?

で、「ポータブルにalignment」 の意味するところがわからないんだが。
なるべくコンパクトに、かつある境界単位に並べるという事か?
0233デフォルトの名無しさんNGNG
>>231
>>226のリンク嫁。C99の機能。
0234デフォルトの名無しさんNGNG
>>230
会話をしてくれ。
「違う」 とは、何がどう変わるという事だ?
0235デフォルトの名無しさんNGNG
struct x{
int n;
} ;
#define x_d(p) (char *)((p) + 1)
とかは?
0236235NGNG
使い方は
struct x *p = malloc(sizeof(struct x) + dの長さ);
とかやって
p->n = 0;
memcpy(x_d(p), "dのデータ");
printf("%d %s\n",p->n,x_d(p));
みたいな感じ。
Cでunion使わずに多態やるときに使う。
0237235NGNG
s/memcpy/strcpy/
0238デフォルトの名無しさんNGNG
>>235
一見よさそうだが、アラインメントの関係で
struct x{
int n;
char c;
};
のような場合に無駄が出る事がある。
0239デフォルトの名無しさんNGNG
> Cでunion使わずに多態やるときに使う。

可変配列とは直接関係無いんじゃないか?
0240235NGNG
>>238
そうだけど、それが嫌ならx_c作れば良いんじゃない?
>>239
可変配列にも応用できるってことで。
0241デフォルトの名無しさんNGNG
>>234
例えば、40bitのデータをintの配列に保存するとき大きさをいくつにするかと
かやったことないのか?
40/32 = 1...8
単に割算して1にしちゃったら8bit足りないだろ。bitとbyteの違いはあるがそ
ういうことだ。
0242235NGNG
#define x_c(p) (char *)((p) + 1)
#define x_d(p) ((char *)((p) + 1)+1)
0243デフォルトの名無しさんNGNG
>>236
それをスマートにアクセスできるようにしたいってこと。
0244235NGNG
>>243
>それをスマートにアクセスできるようにしたいってこと。
そのためにマクロ作ったんだけど・・
0245デフォルトの名無しさんNGNG
>>244
それはスマートじゃないと思う人間が多かったんだろうな。
0246デフォルトの名無しさんNGNG
えーと、それで
16KBのメモリブロックをvoid *blockが指しているとして、
dの長さがLバイトとして、
・blockに、何個のstruct xが詰められるか、どう計算します?
・blockにつめてある、i番目のstruct xってどう書けばよいですか?
0247デフォルトの名無しさんNGNG
bsize = 16 * 1024;
size = offsetof(struct x, d) + L;
n = bsize / size;
p = (struct x *)((struct {struct x x; char d[L];} *)block)[i];

最後のは通るかどうかちょっと自信なし。
0248デフォルトの名無しさんNGNG
符号化とかならともかく
アラインメント無視して詰めたら遅くなるだけだよ
0249デフォルトの名無しさんNGNG
>>248
すまめ、忘れてたよ。遅くなるどころか環境によってはSIGBUS食らうな。

#define align_size(x) (sizeof(struct {x _x; char _dummy;}) - sizeof(x))
const size_t align_size_x = align_size(x);
#define rooms(x, y) (((x) + (y) - 1)/(x))

bsize = 16 * 1024;
size = rooms(offsetof(struct x, d) + L, align_size_x);
n = bsize / size;
p = (struct x *)((struct {struct x x; char d[L];} *)block)[i];
0250デフォルトの名無しさんNGNG
>>249
B木とかのライブラリって、
こんな具合いに書いてあるもんなんでしょうかね。

やっぱ、メモリ上で木構造の勉強するのに比べると、
だいぶ複雑ですね。
0251デフォルトの名無しさんNGNG
>>241
その計算を (40+32-1)/32 でやらない香具師がいるのか?
0252デフォルトの名無しさんNGNG
>>251
>229に聞いてみてくれ。
0253デフォルトの名無しさんNGNG
>>249 const size_t align_size_x = align_size(x);
ってのは
const size_t align_size_x = align_size(struct x);
のこと?

これで、ちゃんとalignされるって、保証されるのかな…
0254 ◆SpXtQMM.WA NGNG
自由に使ってくれ

#include <stdio.h>

int main()
{
printf("あめま\n");
return 0;
}
0255デフォルトの名無しさんNGNG
>>253
> const size_t align_size_x = align_size(struct x);
> のこと?
んだす。その後もこうだな。ボケてるよ…。
size = rooms(offsetof(struct x, d) + L, align_size_x) *align_size_x;

> これで、ちゃんとalignされるって、保証されるのかな…

struct x1 {struct x _x; char _dummy;} x1[2]; で
x1[1]._x も x1[0]._x 同様 align されることを考えれば、
sizeof(struct x1) は strcut x の alignment の倍数だということが分かる。
sizeof(struct x) も当然倍数なので、 sizeof(struct x1)-sizeof(struct x) も倍数。
sizeof(char) == 1 なので、この差は(おそらく)可能な最小値であり、
strcut x の alignment そのもの。

# 最小値でなくても align されることに変わりはない。

こんなとこでどーよ。
0256デフォルトの名無しさん NGNG
int main()ってどうゆう効果なの?main()じゃだめなの?
0257デフォルトの名無しさんNGNG
関数宣言/定義の戻り値の型は省略可能で、その場合int。
だから等価だが省略するのは古い書き方。
0258デフォルトの名無しさんNGNG
mainのintはくだらねえことで金切り声をだして時間と気力を浪費するバカよけだ
0259デフォルトの名無しさんNGNG
ファイル名を持つChar型の変数をファイル名にしようと次のように
組んだのですがエラーが出てしまいます。
char str[256];
char *fname="data.txt";
FILE *f=fopen(fname,"rt");
while(fgets(f,255,str)!=NULL) ← ここでアラー
・
・
・

どうか助けてください、お願いします
0260デフォルトの名無しさんNGNG
fgets() のプロトタイプを確認すれば原因はすぐわかると思います。
ところで、どんなアラーメッセージが出ますか?
0261259NGNG
'fgets' : 1 番目の引数を 'struct _iobuf *' から 'char *' に変換できません。
0262デフォルトの名無しさんNGNG

              ア ラ ー 
0263デフォルトの名無しさんNGNG
あらー>260ちゃんじゃないのぉ。大っきくなったわねぇ。
0264デフォルトの名無しさんNGNG
>>261
'struct _iobuf *' とは、FILE* のことです。
コンパイラがどうしてそれを char* に変換しようとしているかわかりますか?

ところで、260 の 1 行目は検討していただけましたか?
0265デフォルトの名無しさんNGNG
while(fgets(str,255,f)!=NULL)
0266259NGNG
ああ、わかりました・・・相当勘違いをしてました。
助言ありがとう御座います。
0267デフォルトの名無しさんNGNG
宗教板に「アラーメッセージ」ってスレ立てていいですか?
0268デフォルトの名無しさんNGNG
>>267
この板に立ててください。
そして、荒らされてください。
0269デフォルトの名無しさんNGNG
>>258
禿同
0270デフォルトの名無しさんNGNG
アラーメッセージ
http://pc.2ch.net/test/read.cgi/prog/1038564845/
0271デフォルトの名無しさんNGNG
そっちに立てたか・・・。
アラーされてください。
0272デフォルトの名無しさんNGNG
ム板はよっぽどの事が無い限りアラーされないからナー。
0273デフォルトの名無しさんNGNG
今度初めてCを学ぶのですが
環境はどうすればいいですか?
メモ帳+コンパイラがあればできると聞いたのですが
もっと便利に使いやすいもので学びたいのですが
そういうC用ツールってありますか?
なるべくフリーがいいのですが。
お願いします。
0274デフォルトの名無しさんNGNG
>>273
emacsで検索しろ
0275273NGNG
>>274見てきましたが結構使いにくそうです・・・。
別スレで聞いたほうがいいですかね?
0276デフォルトの名無しさんNGNG
>>275
いや、ふつーemacsです。
最初は他のエディタと違う雰囲気という観点で
使いにくいと錯覚しますが、それも最初の2,3日だけです。
0277JPS ◆M0LaMzf5rY NGNG
>>273
「CPad」で検索しる!bccがいるけどね。どっちもフリーでつ。
初心者向けで分かりやすいでつ。
それで足りなくなったらBccDev
0278デフォルトの名無しさんNGNG
>>273
シェアウェアだけどエディタは秀丸がいいよ。
ただでも使いつづけられるけど、
grep画面からタグジャンプするときとかうざいので、
ケチらずに4000円払った方がいいよ。
0279デフォルトの名無しさんNGNG
>>273
xyzzyも挙げておこう。
0280デフォルトの名無しさんNGNG
TeraPad
0281デフォルトの名無しさんNGNG
テストコード程度ならNotepad使ってます。
むかしはEDLIN使ったけどね・・・
0282デフォルトの名無しさんNGNG
WinならVC++を使えよお前ら。
0283デフォルトの名無しさんNGNG
使ってますが何か?
0284デフォルトの名無しさんNGNG
VC++ってフリーなんですか?
0285デフォルトの名無しさんNGNG
一応 BCC Developer も挙げておこう。
0286デフォルトの名無しさんNGNG
.NET Framework 付属の最適化かからないコンパイラなら VC++ でも無料。
0287デフォルトの名無しさんNGNG
この文脈では、「VC++のIDE」の話ではないのか?
0288デフォルトの名無しさんNGNG
>>273ですが、みなさん、こんなにレスありがとうございます・・・!
本当に感謝です。
で、自分なりにググって見たのですが
TeraPadはフリーで高機能というもので
かなりいい評判でした。

秀丸は超有名ですがこのフリーのエディタがいくつもあるなか
4000円はちょっと高い気がします。しかし学生なので
無料になるということなのでこの機会にやってみるのも
いいかなぁと思いました。

CPadもなかなか使いやすそうです。
個人的にはこれがいいかなと思ってるのですが
機能面ではどうなのですか?それについては分からないのです。

あと、VC++も調べてみたのですがフリーなのかシェア
なのかよく分からないんです。(本当に)
教えていただけないでしょうか?

長文読みにくくてすいません。
ではお願いします。
0289デフォルトの名無しさんNGNG
しゃぁからスレ違いやっちゅうに
0290デフォルトの名無しさんNGNG
>289
ちょ、まてや。
確かに>289の言いたいことは分からんでもないが
漏れはスレ違いとは思わんが
スレタイよく見てみ
0291デフォルトの名無しさんNGNG
>GUIなどの標準Cではできない事の質問は使用している開発環境のスレへ行け。
とかかれてますが?
0292デフォルトの名無しさんNGNG
>>287
MSDEV (Developer Studio) は VC++ を呼ぶが VC++ じゃない。
0293デフォルトの名無しさんNGNG
>>292
プ
0294デフォルトの名無しさんNGNG
>>293
ttp://www.seiki21.com/img/img-box/img20021124224653.jpg
これでも見てもちつけ (・∀・)
0295デフォルトの名無しさんNGNG
>>294
ブ
0296デフォルトの名無しさんNGNG
猫でもわかるプログラミングを見ても難しくてわからなかった
猫以下の超下等生物でもわかるようなC言語の入門サイト教えてください。
0297デフォルトの名無しさんNGNG
家の猫(マイケル)に、そのサイトを見せても
マイケルにはC言語は理解出来なかったようだぞ
0298デフォルトの名無しさんNGNG
>>286
それ「V」C++じゃないよ。
0299273NGNG
スレ違いですか?
できることならこのスレでいいと思ってるんですが。
0300デフォルトの名無しさんNGNG
>296
この辺りから適当なものを
ttp://www2.famille.ne.jp/~akio1998/l_cpp.html
0301デフォルトの名無しさんNGNG
>>300
おお!ありがとうございます。
いろいろなサイトがあるようなので、これから見て回ります。
0302デフォルトの名無しさんNGNG
結局、
入門書レベルの質問はC言語質問所スレへ行け。
てのは誰も言わないのな。ホントに誰も。
0303デフォルトの名無しさんNGNG
>302
荒れまくってるようで使い物にならん。
0304デフォルトの名無しさんNGNG
>>302
あそこは初心者用の質問所ではない
0305デフォルトの名無しさんNGNG
今はもう、あまぐりスレになってるな。
0306デフォルトの名無しさんNGNG
>>292
じゃあ何がVC++なの?
コンパイラだけ?
0307デフォルトの名無しさんNGNG
質問っす。
ファイルを読み込み/書き込みの両方出来るモードで開いたときに
先頭から上書きしていって途中でファイルの終了にするにはどうすればいいの?

(例)

元データ

aaa
bbb
ccc
終了

変更後

aaa
bbb
終了
0308デフォルトの名無しさんNGNG
環境によるが、POSIXなら
ftruncate(ftell(fp));
0309デフォルトの名無しさんNGNG
>307
環境によるが、プログラムを実行させ、ハードディスクのアクセスランプが点灯す
る瞬間に、パソコンの電源を抜く。
0310デフォルトの名無しさんNGNG
コンパイラをDLしてきた後の設定方法を教えてください。
0311デフォルトの名無しさんNGNG
>>310
コンパイラはこの世に一つしかないとでも思っているのか?
ついでにスレ違い。
0312名無しさん@カラアゲうまうまNGNG
>>310
ドキュメントを読む。
0313デフォルトの名無しさんNGNG
_outp _inp を使って内部スピーカーを鳴らすソースを教えてください。
0314デフォルトの名無しさんNGNG
>>313
そこまで知ってるなら逆にこっちに教えてくれ
0315デフォルトの名無しさんNGNG
>>313
Unix系OSだったらUnixUser読めばわかるのにね、といってみる
0316デフォルトの名無しさんNGNG
>>301
遅レスだが、参考書を一冊買った方がいい。
0317デフォルトの名無しさんNGNG
>>314
putchar('\007');
間接的にoutポートも使うだろ。
0318デフォルトの名無しさんNGNG
>>317
out ポートは使ってるとは思うが、_outp を使ってるとは限らんぞ。
0319デフォルトの名無しさんNGNG
>>317
\a
0320デフォルトの名無しさんNGNG
GNU diff のソースがよくわかりません。
解説してください。
0321デフォルトの名無しさんNGNG
GREPってなんやねん〜〜
0322デフォルトの名無しさんNGNG
>>320
256回嫁
0323デフォルトの名無しさんNGNG
>>321
上エプ 中エプ 下エプ

大文字を使った番外なオマエはさしずめビチアス海淵
0324デフォルトの名無しさんNGNG
>>320
動的計画法を使った編集距離アルゴリズムについて勉強しろ。
http://www.csse.monash.edu.au/~lloyd/tildeAlgDS/Dynamic/Edit/
0325デフォルトの名無しさんNGNG
何を偉そうに
0326デフォルトの名無しさんNGNG
>>325
戦わなきゃ、現実と。
0327デフォルトの名無しさんNGNG
GNU のソースって、やたら面倒だよね。
0328デフォルトの名無しさんNGNG
「GNUの」と一括りにできる程読んでるのかと小一時間。
0329デフォルトの名無しさんNGNG
>>327
根本のアルゴリズムやルーチンだけでなく、
統一されたインタフェースやエラー処理、不正入力処理、等の方が随分長いからね。
コアだけ抜き出すとかなり短い。
0330デフォルトの名無しさんNGNG
grepについて。

Boyer-Moore-Mosesの検索アルゴリズムについて勉強汁。
http://www.geocities.co.jp/SiliconValley-Oakland/1680/zsaru/zsaru13.html

# しかし、有用な情報を提供できる奴はほんとに少ないな。
0331デフォルトの名無しさんNGNG
int read(int *ip){
scanf("%d",ip);
return *ip;
}

insert( &g[vect], read(&val), read(&ch) );

問題点は何かと聞かれましたが,上の関数では問題点はなさそうです。
下の関数は,実行する時の動作がおかしいと言うことだろうとは思うのですが,
readを呼び出して,戻り値を引数として渡すから大丈夫だと思うのですが,
どこが問題点なのでしょうか?
0332デフォルトの名無しさんNGNG
>>331
#include <stdio.h>
int read(int *ip){
scanf("%d",ip);
return *ip;
}
int main(void) {
int a, b;
printf( "%d %d\n", read(&a), read(&b) );
return 0;
}
このプログラムを動かして
100 200
を入力したときの出力はどうなるでしょう?
0333デフォルトの名無しさんNGNG
100 200がでたが・・・
VC++とCマシーンで
0334デフォルトの名無しさんNGNG
Σ(゚д゚lll)ガーン
0335デフォルトの名無しさんNGNG
>>332
gcc 2.95.3, glibc 2.2.4では
200 100
0336333NGNG
scanfの呼び出しが,引数評価の後にくるかもしれないってこと?
0337デフォルトの名無しさんNGNG
>>336
お前、もう少し考えてから書けよ。
0338 NGNG
あ,ごめん。
200 100だった・・・
なぜ?
0339デフォルトの名無しさんNGNG
>>338
引数の評価順序は未規定。
0340デフォルトの名無しさんNGNG
関数の引数の評価順序は規定されていない。
0341340NGNG
>>339
ケケケ、ケコーンしてくだちい
0342デフォルトの名無しさんNGNG
>>339-340
ありがとう
自己嫌悪だす
出なおしてくるです
0343デフォルトの名無しさんNGNG
int main(void)
{
char **s1=("ABC\0""DEF\0""GHI\0" "JKM\0"
"NLO\0""PQR\0""STU\0""VWX\0""YZ\0");
int i;
int j;
++s1;
printf("%s",s1);

return 0;
}
char **s1=("ABC\0""DEF\0""GHI\0""JKM\0"
"NLO\0""PQR\0""STU\0""VWX\0""YZ\0");

 で、文字リテラルの多次元配列を実現しようとしました。
  でも、こんな警告でる
   間接参照のレベルが 'char ** '
      と 'char [36]' で異なっています。
 また、別の見方をすると
  *s1[]={"ABC","DEF","HIJ","..","YZ"};

公書いたら↑のように宣言せねばならない。
 だけど、こう書くと文字リテラルではなくなる。

 
0344デフォルトの名無しさんNGNG
成り立ってる理由はchar *s1=("ABC\0""DEF\0""GHI\0"
"JKM\0""NLO\0""PQR\0""STU\0""VWX\0""YZ\0");

 こう宣言して、++s1;すると一文字づつしかアクセス
 できない。 だが、上記のようにchar **s1="etc";
 とすると++s1;は、リテラル単位でアクセスする。
  
   すなわち、僕が考えた形は成り立ってるのだ。
 じゃあ、いったいなんで警告されるのだ。
0345デフォルトの名無しさんNGNG
キティガイデタ━━━━━━(゚∀゚)━━━━━━ !!!!!
0346デフォルトの名無しさんNGNG
signal()とかでタイマーで再帰的に呼び出す処理をさせる場合、親スレッドと子スレッド
がいて、子スレッドの方でこのsignalでタイマーをセットして処理させることは可能ですか?
0347デフォルトの名無しさんNGNG
>>346
落ち着け。
signalはタイマーをセットしないし(たぶんalarmのことか?)、
タイマーは再帰的になにかを呼び出したりもしない。

ちゃんと説明して。
0348デフォルトの名無しさんNGNG
>>343-344
最初に、何がやりたいのを書け。
char s1[][4]={"ABC","DEF","GHI"..."YS"};
char *p=(char*)&s1;
これで済む話か?
0349デフォルトの名無しさんNGNG
> ++s1;は、リテラル単位でアクセスする

この間違った思い込みが元凶か。
0350デフォルトの名無しさんNGNG
>>331>>332>>333
stackが効いたりしたのでしょう。
0351デフォルトの名無しさんNGNG
>>350
(゚Д゚)ハァ?
0352デフォルトの名無しさんNGNG
誰か 350 を翻訳してくれ。
0353超初心者。NGNG
Warning: illegal pointer combination (param)
ってエラーが出るんですが何を直せばいいんでしょうか。
0354デフォルトの名無しさんNGNG
346です。すみません。説明が混乱してました。

>>347
OSはLinuxなのですが、例えば signalでSIGALRMでコールバック関数
を設定してsetitimerである時間待ってから実行させる処理を再帰的に繰り返
すとします。
通常、タイマー処理(といういいかたでいいのかな)を単一スレッド内で行い
たい場合の一つの方法だと思うのですが、これを子スレッド内で
同じようにできるのでしょうか?(子スレッド内でsignal/setitimerする)
その場合、その子スレッドが終了した時にそのタイマー処理も終了するの
でしょうか?といった事が質問したかったのですが。
0355デフォルトの名無しさんNGNG
>>353
お前の書いたソースコード。
0356デフォルトの名無しさんNGNG
>>353
まるち。
0357デフォルトの名無しさんNGNG
>>354
pthreadではsignalはメインスレッドが受けると思ったが。
0358714NGNG
それは分かるんですが・・確かに2つのスレに聞いたけど。。
0359超初心者NGNG
うあ、714とかいって恥ずかしい。すみませんでした。
0360デフォルトの名無しさんNGNG
>>358
マルチポストが何故いけないか調べてこい。
0361デフォルトの名無しさんNGNG
調べた結果マルチポストはかまわないということが分かった
0362デフォルトの名無しさんNGNG
結果的にマルチ
0363クレアラ汁NGNG
質問です:1kΩの抵抗に10vの電圧をかけ、流れる電流を20回計測した結果を
処理しその平均を求めるプログラムを作成してください。ただし許容差は±5%で、
電圧源の出力電圧の誤差は最大で±10%であるとする。
これらのパラメータから理論上ありえない計測値がでたら、入力データの番号と
「計測値が不正」のメッセージを出し、その回の計測は無視する。・・・・是非教えて下さい
0364デフォルトの名無しさんNGNG
このスレとC言語質問所スレってどう違うんですか?
0365デフォルトの名無しさんNGNG
>>363
許容差の意味がわからん。
0366デフォルトの名無しさんNGNG
許容誤差のことであろう。
0367デフォルトの名無しさんNGNG
>>366
ただいま電気科だがワカラン。まあ、それがわかれば簡単だすな。
0368デフォルトの名無しさんNGNG
> プログラムを作成してください

(・∀・)カエレ!
0369デフォルトの名無しさんNGNG
>>367
そうか?
他にも解決しなきゃいけない問題があるんじゃないか?
「電圧をかけ」「計測」「理論上ありえない計測値」
0370デフォルトの名無しさんNGNG
つーか、思いっ切り環境依存の話じゃないか?
おまいら、対応は 「未定義」 でおながいします。
0371デフォルトの名無しさんNGNG
電源:10v±1v
抵抗:1kΩ
電流:電源/抵抗=10±1mA
許容差:±5%
よって、9mA*±5%〜11mA±5%となり、
8.55mAから11.55mAの範囲で正常とみなす。
0372クレアラ汁NGNG
電圧をかけ:電源を入れる。
許容誤差のことは気にしないで下さい。
よろしくお願いします
0373デフォルトの名無しさんNGNG
許容差って平均とったときの許容誤差のことじゃなかったの?
0374デフォルトの名無しさんNGNG
すれ違いなのでその話は雑談スレにでも行ったほうがいい。
0375デフォルトの名無しさんNGNG
電源:10v±1v
抵抗:1kΩ
電流:電源/抵抗=10±1mA
許容差:±5%
よって、9mA*±5%〜11mA±5%となり、
8.55mAから11.55mAの範囲で正常とみなす。
0376デフォルトの名無しさんNGNG
>>375
それは実効値か? 理論値か?
0377デフォルトの名無しさんNGNG
>8.55mAから11.55mAの範囲で正常とみなす。
実験して取ったデータが入力された時に、
上の、正常値にならなければ、
「再度入力して下さい。許容誤差範囲外です」
とか書けば良い。

0378377NGNG
「計測値が不正」のメッセージを出し
って書いてあったな。すまん。
0379デフォルトの名無しさんNGNG
inline void a()
{
//作業
}

と言う関数を,ヘッダーファイルの中で,
inline void a();
void a();
のふたつで,プロトタイプ宣言してみましたが,未解決ですと表示されてコンパイルできませんでした。
そこで,関数の実体の方のinlineを取ったらコンパイルできました。
inline関数の時は,どうすればコンパイルできるようになるのでしょうか?

win98
VC++6.0
です
0380デフォルトの名無しさんNGNG
低レベルだとは思いますがご教授ください
visualc++を使ったプログラミングの課題をやるのに
(まだDOS窓しか使ってないので、)文字に色をつける等ができる
関数が使えるヘッダファイル(拡張子がhのもの)を学校側からもらってるんですが

/*マクロ定義*/
#define KEY_UP (0x48)
#define KEY_DOWN (0x50)

こういったことが書いてあって
これを利用すると、キーボードの↑を押した時に
何か処理をさせるみたいなことができるらしいんですが
使い方がわかりません、どう使うんでしょうか?
0381デフォルトの名無しさんNGNG
スレ違いやん?
0382デフォルトの名無しさんNGNG
いつから宿題丸投げスレになったんだ?
0383380NGNG
>>382
一応ポインタ変数とか構造体までやってて
操作がまだscanfで何か入力しかできないので、入力してEnter押す
では味気ないからってことで使えるようになってるだけです
課題そのものはデーターベースみたいのを作ることで全然丸投げではないです
0384デフォルトの名無しさんNGNG
>>383
スレタイ分かってるか?

  「C言語のことは俺に聞け」

つまり裏を返せば

 「C言語と関係ないことは俺に聞くな」

ってこった。分かるな?
0385380NGNG
>>384
C言語と関係ないなら何と関係あるんですか?
0386デフォルトの名無しさんNGNG
>>385
タダの煽りなので気にしないほうがよろし。
0387380NGNG
>>386
いえ、知識がないからホントにわからないんですが…
0388デフォルトの名無しさんNGNG
ウィンドウプロシージャって知ってる?
0389デフォルトの名無しさんNGNG
>>387
(゚Д゚)ハァ?おまえが授業中に情報聞き逃すかなんだしたんだろ?
>>380だけで使い方分かるやつなんていねーよ。
0390デフォルトの名無しさんNGNG
VBすら挫折する糞SE。
PGを数人原子炉現地デバッグに缶詰にさせ数億円の被害
【八千代】ソレすら作れないってヤバいだろ【市民】
http://pc.2ch.net/test/read.cgi/prog/1038753020/l50
0391380NGNG
>>388
聞いたこともないです…
0392380NGNG
>>389
いえ、その使い方(全部の内容)は説明してないんです
プログラミングの経験がある人が何人か使っててできることがわかっただけで
0393デフォルトの名無しさんNGNG
>>392
宿題丸投げは宿題スレへ。
WindowsでのC/C++プログラミングは、VC++スレとかで聞いてみれば?
0394ぬるグラマー(初心者)NGNG
>>380さんのはこんな感でできそうな感じですけど。
もっと良い方法知ってる人居たら教えて。
#include <stdio.h>
#include <conio.h>
/*マクロ定義*/
#define KEY_UP (0x48)
#define KEY_DOWN (0x50)
int main(void)
{
int c;
if(getch()==0){
c = getch();
if(c == KEY_UP)printf("KEY_UP!");
if(c== KEY_DOWN)printf("KEY_DOWN!");
}
getch();
return 0;
}
0395ぬるグラマー(初心者)NGNG
>>394でだめなとこも教えて。
0396デフォルトの名無しさんNGNG
>>380
かわいそう…
0397デフォルトの名無しさんNGNG
>>394
まともに動かねーぞゴルァ
0398デフォルトの名無しさんNGNG
>>394
はっきりいってスレ違い。

>1 GUIなどの標準Cではできない事の質問は使用している開発環境のスレへ行け。
0399デフォルトの名無しさんNGNG
>>394
↓ここを見ろ
http://pc3.2ch.net/test/read.cgi/tech/1038414493/10
0400デフォルトの名無しさんNGNG
getsとgetline、どちらを使うほうがカッコイイ?
0401デフォルトの名無しさんNGNG
>>400
getlineなんてC言語の標準ライブラリにはない。
0402デフォルトの名無しさんNGNG
getlineだろ、当然
0403403NGNG
UNIXでネットワークプログラミングをしているんですが、

サーバがlistenで待って、クライアントがconnectで接続。
その後、クライアントがshutdownすると、
「パイプが切断されました」と言って、サーバも終了してしまいます。

どうすればクライアントの切断(予期しない切断も含める)を
正常処理できるでしょうか?

お願いします。
0404デフォルトの名無しさんNGNG
EPIPEをトラップ
0405デフォルトの名無しさんNGNG
SIGPIPEをトラップ
0406デフォルトの名無しさんNGNG
POSIXってなんですか?UNIXの仲間ですか?
0407404-405NGNG
すまん、404は間違い。
0408デフォルトの名無しさんNGNG
>>406
板違いっぽいが、UNIXベースのOSの規格。
0409403NGNG
>>405さん
ありがとうございます!やってみます!
0410デフォルトの名無しさんNGNG
>>406
POSIX: Portable Operating System Interface
OSのAPIの国際標準規格。
0411デフォルトの名無しさんNGNG
>>408
Unixに限らない。Windows NT/2000もPOSIXに準拠してる。
0412デフォルトの名無しさんNGNG
>>411
どこがどのように準拠しているのかと。
0413デフォルトの名無しさんNGNG
>>403-412
スレ違い。
0414デフォルトの名無しさんNGNG
どうしてgetchはWin32s およびWin32 GUI のアプリケーションでは使用
してはいけないのですか?
0415デフォルトの名無しさんNGNG
>>413 逃げた!
0416デフォルトの名無しさんNGNG
>>411
UNIXをベースにしてるだろが。
0417デフォルトの名無しさんNGNG
>>414
これもかなりスレ違いだが、コンソールを持ってないからじゃないか?
0418デフォルトの名無しさんNGNG
>>416
NT/2000がUNIXベースのOSとは初めて聞いた。
0419デフォルトの名無しさんNGNG
Java や C# は C++ をベースにしているが、C++ ではない。
それと同レベルの話。
0420デフォルトの名無しさんNGNG
>>419
つまり>>411は正しいということだな。
0421デフォルトの名無しさんNGNG
>>420
Microsoft の言を信用するなら正しい。
一般には、完全準拠ではないと言われている。
漏れは確かめていないので分からない。
0422デフォルトの名無しさんNGNG
http://support.microsoft.com/default.aspx?scid=KB;en-us;q149902

0423デフォルトの名無しさんNGNG
つまり>>411は正しいということだな。
0424デフォルトの名無しさんNGNG
激しくボッキ!!
0425デフォルトの名無しさんNGNG
micro kernel
0426デフォルトの名無しさんNGNG
>>423
>408は、POSIXがUNIXをベースにして制定されたということ。
NTが準拠してるかどうかは別問題で、>416はそのへんを誤読している。
でもNTってmachベースって話じゃなかったっけ。
0427デフォルトの名無しさんNGNG
符号なし整数を使いたいのですが、
unsigned int i;
と宣言しても、符号付き整数になってしまいます。
どうやったら符号なし整数を使うことができるのでしょう?
0428デフォルトの名無しさんNGNG
>>427
つーか、どうやって符号付き整数になったかどうかわかったの?
0429デフォルトの名無しさんNGNG
符号付整数がとれる最大の値に1足すと、マイナスの値
になってしまうのです。
0430デフォルトの名無しさんNGNG
>>429
いや、だから・・・どうやってマイナスだとわかったのかと。
もしかしてprintf("%d", i); で表示してたってオチじゃないだろうな。
0431デフォルトの名無しさんNGNG
>>426
マイクロカーネルと言う意味ではmach的ともいえるけど
VMSを設計したデビッドカトラーをVAXから引き抜いて作らせたから
内部構成はVMSに似ているらしい。
(VMSを一文字ずらすとWNTになるというのはヨタ話くさいと思うけど。)

POSIXは準拠でないと一時期米政府機関がシステムを納入させてくれなかった関係で
形だけ最低限対応したというのが実態にちかいんじゃなかろか。
0432デフォルトの名無しさんNGNG
そのオチでございます。
printf("%d", i);
だとあかんのですか。。。それは知りませんでした。
で、どうやって表示すればいいのでしょうか?
0433デフォルトの名無しさんNGNG
>>432
printf("%u", i); デス。
0434デフォルトの名無しさんNGNG
>>433
ありがとうございました!
(しかし、それは知らなかった。。。)
0435デフォルトの名無しさんNGNG
>>431
実態はたぶんそんなとこだろうが、それ以前に使いようがない。
Interixってんがそうなのかなぁ。
0436デフォルトの名無しさんNGNG
C言語はどうやって作ったんですか?

あとB言語ってのがあったそうですけど難しいんッスか?
0437デフォルトの名無しさんNGNG
処理系や解説書の入手自体難しい。
0438デフォルトの名無しさんNGNG
ってか入手できるの?
0439デフォルトの名無しさんNGNG
無理なんじゃねーのB言語の発展版がC
0440デフォルトの名無しさんNGNG
>>439
常識
0441デフォルトの名無しさんNGNG
Bのそのまた前の
BCPLの本ならまだ売ってるが。共立出版。
0442デフォルトの名無しさんNGNG
VMSをずらしたらWNTってのは本当だろう。
VMSの設計者David Cutlerが
Win NTも設計したんだから。
0443デフォルトの名無しさんNGNG
>>436

↓ ここに全部書いてある
http://www.cs.bell-labs.com/who/dmr/
0444雑談NGNG
「Cの次はP。その次はLである。」(DやEではない!!)
「C言語はそれ自身でかかれた言語である」
0445デフォルトの名無しさんNGNG
C FAQ 20.38 そもそも、「C」という名前の由来は。
http://www.catnet.ne.jp/kouno/c_faq/c20.html#38
0446デフォルトの名無しさんNGNG
変な質問なんですけど・・・。
Cで変数やら配列をたくさん使いすぎると、
変数や配列の中身が変わったりしませんか?
0447デフォルトの名無しさんNGNG
>>446
メモリリークでも起こしてるだけじゃないのか?
0448446NGNG
>>447
初心者なのでメモリリークの意味もあまりよくわからないです。
mallocを一切使わずにプログラムを書いているので、
その辺が原因なんじゃないかと踏んでいるんですが・・・。

とりあえず、a[50]→a[100]とかにして宣言し直したら、
配列の中身は変わらなくなりました。
0449デフォルトの名無しさんNGNG
Cってそういうとこ原因わかりにくいからなぁ。
0450デフォルトの名無しさんNGNG
>>448
配列の添え字外をアクセスしているに100カノッサ。
0451デフォルトの名無しさんNGNG
>>445の脳ミソをオーバーフローしてるに1000pF。
0452446NGNG
>>450
それはないはずです。
今まで普通に動いていたのに、配列を増やしたら急におかしくなった。
その配列はプログラムの最初以外はアクセスしないのに、
最後で出力すると中身が変わっていた。
でも、使うギリギリまでしか添字の範囲を取っていなかった。
0453デフォルトの名無しさんNGNG
>>452
環境とソース。
0454446NGNG
>>453
環境はよく分かりません。スイマセン。
プログラムは600行ぐらいあるのでちょっと・・・。
外部変数としての配列は20種ぐらいです。
0455デフォルトの名無しさんNGNG
配列の種類増やしたぐらいでもし中身が書き変わってしまうとすれば、
俺は職を失うことになる(((( ;゚Д゚))))ガクガクブルブル
0456デフォルトの名無しさんNGNG
初期化ミスに1.2ml
0457デフォルトの名無しさんNGNG
>>454
関係ないとこぶち壊してたのが、配列広げたせいでそこまでカバーしちまった
とかかも。
いずれにせよ、コンパイラのバグよりも自分の環境も分からない香具師のバグ
のほうに3000nxt。
0458デフォルトの名無しさんNGNG
文字列操作とかしていない?
for(i=0;i<=N;i++)
とかのNの部分とか変更ミスってない?
0459デフォルトの名無しさんNGNG
Borland C++Builderとかなら、CodeGuardかければ一発でわかるんだけどな。
0460446NGNG
>>457
スイマセン。

>>458
文字列は全く使っていません。
for文の中身もほとんど、for(i=0;i<N;i++) で統一しているので。
Nの部分もすべてマクロ定義にしています。
0461デフォルトの名無しさんNGNG
>459
あれだ、BoundsCheckerってば、体験版あったはず
0462デフォルトの名無しさんNGNG
>>446
> Cで変数やら配列をたくさん使いすぎると、
> 変数や配列の中身が変わったりしませんか?
ansi準拠な処理系かつansi準拠ななソースだと仮定すれば
「そ ん な こ と は 絶 対 に 起 こ ら な い」
よって処理系がバクっているか君のソースがバグっている
可能性から言うと君のソースがバグっている可能性が高い
0463デフォルトの名無しさんNGNG
>>460
すごくまさかとは思うが・・・・
LSI-C86試食版のような、16bitコンパイラ使ってないだろな。それで
配列が1セグメントを超えてしまったような。今時ないよな。
0464446NGNG
とりあえず直ったのでもう大丈夫です。
回答していただいた皆さん、ありがとうございました。
0465デフォルトの名無しさんNGNG
>463
セグメント超えるような配列は、
コンパイラがさじ投げる気がするけど、、、
0466デフォルトの名無しさんNGNG
>>464
いったいどう直したのか聞いてみたいのは漏れだけか?
0467デフォルトの名無しさんNGNG
>>466 変数増やしたりしてたらメモリリークが気づかない箇所にうつっただけだろ。
0468デフォルトの名無しさんNGNG
>>467
バグが隠れただけだってことは間違いないだろうが、malloc()は使ってないっ
つてるから(信用するなら)メモリリークじゃないだろう。つーかメモリリーク
で関係ない所を壊すって症状は、あまり聞いたことないんだが。
0469デフォルトの名無しさんNGNG
スタックオーバーフローだろ。
0470デフォルトの名無しさんNGNG
テスト
0471デフォルトの名無しさんNGNG
>>469
446が再帰なんて使ってるとも思えんのだが。

まぁうだうだいってもソース晒す気がないのなら無駄だがな。
0472デフォルトの名無しさんNGNG
>>471
スタックオーバーフローの要因なんぞ再帰以外にもあるがな。
0473デフォルトの名無しさんNGNG
>>446
何度も連続してコンパイルして居ると、*.objが、前のデータを流用して、
容量増やした時に、配列の先頭を変えずに、確保しようとして、ほかの配列で
使って居る所を、上書きしたりする事もあるから、*.objを消してから
コンパイルした方が良い。
0474デフォルトの名無しさんNGNG
>>473
そりゃコンパイラかリンカのバグってこと?
つーか処理系は何
0475デフォルトの名無しさんNGNG
>>473
ネタか ?
インクりメンタルコンパイルかなんかでコンパイラがバグってたらあるかも知れんが、俺は聞いたことない。
ネタじゃないなら、ソースキボン。
0476デフォルトの名無しさんNGNG
>>473
VC6の統合開発環境でよく起こるな。
あのバカメイクのせいで。
0477デフォルトの名無しさんNGNG
構造体のポインタにつぃて聞きたいのです。

配列でない要素をポインタで扱う時
data->a=100;
と言う風にできるんですが配列の場合はどうすればいいんでしょうか?
data->b[12]=100;
とかしたいんだけど
0478デフォルトの名無しさんNGNG
> data->b[12]=100;
> とかしたいんだけど

本当にそうしたいのであればそのコードでOKなはずだが。

data[12]->b = 100
とか
data[12].b = 100
とかしたいのではないかと推測。
0479デフォルトの名無しさんNGNG
>>477
mallocつかわないといけないらしい。
0480デフォルトの名無しさんNGNG
>>477
struct Test
{
int a;
int b[20];
};
int main(void)
{
Test* data = (Test*)malloc(10);

data->a = 10;
data->b[12]= 10;

return 0;
}
こんな感じ?
0481デフォルトの名無しさんNGNG
>>480
せめて
Test* data = (Test*)malloc(sizeof(Test));
とすべきでは?
0482デフォルトの名無しさんNGNG
>>477
したらええがな。
0483480NGNG
失礼!そうだね。
0484デフォルトの名無しさんNGNG
クソどもの集りだな
struct Test *data = (struct Test *)malloc( sizeof(struct Test) );
だろーがヴォケが。
0485デフォルトの名無しさんNGNG
struct A
{
 char str[ 100 ];
};

struct B
{
 char * str;
};

void main()
{
 struct A a;
 struct B b;

 char src[] = "ABCDE";
 int srclen = strlen( src ) + 1;

 memcpy( a.str, src, srclen );
 printf( "A string is \"%s\".\n", a.str );

 b.str = (char *)malloc( srclen );
 memcpy( b.str, src, srclen );
 printf( "B string is \"%s\".\n", b.str );
 free( b.str );
}
0486480NGNG
>>484
普段、C++で組んでるから癖が・・・
0487480NGNG
477さん。
見たら直しといて下さいね。
0488デフォルトの名無しさんNGNG
>>486
それワカル
struct hoge{
hoge* p;
};
としたらえらい怒られた。
0489デフォルトの名無しさんNGNG
C++ で struct ってそんな使う?
0490デフォルトの名無しさんNGNG
interface
0491デフォルトの名無しさんNGNG
>>486
そうです。C++だともはやstructなんてキーワードは型キャストやsizeofに
使わないので、完全に癖になっています。
0492デフォルトの名無しさんNGNG
typedef struct hoge hoge;
struct hoge
{
hoge *giko;
};
0493デフォルトの名無しさんNGNG
他の言語でどうのって言い訳カコワルイだけ
#define begin { と一緒
0494デフォルトの名無しさんNGNG
拡張子を".c"にしてg++でなくてgccでコンパイルしてから投稿すればいいという罠。
0495デフォルトの名無しさんNGNG
>>493
それはそれで痛いが、それはわかっていてやっているので違う問題だと思われ。
0496初心者です。NGNG
#include<stdio.h>
void keisan1(int a,int b);
void keisan2(int *a,int *b);
int main(void)
{
int kazu1,ans1;
int *kazu2,*ans2;
kazu1=10;
ans1=9999;
kazu2=&kazu1;
ans2=&ans1;
keisan1(kazu1,ans1);
printf("%d\n",ans1);
keisan2(kazu2,ans2);
printf("%d\n",*ans2);
return 0;
}
void keisan1(int a,int b)
{
b=a*100;
}
void keisan2(int *a,int *b)
{
*b=*(a)*100;
}
このプログラムの実行結果は
9999
1000
になります。
9999になるのは、keisan1の関数がvoidだからということでよろしいのでしょうか。
それと、呼び出しがkeisan(*kazu2,*ans2);ではなく
keisan2(kazu2,ans2); なのはなぜですか?
0497デフォルトの名無しさんNGNG
>9999になるのは、keisan1の関数がvoidだからということでよろしいのでしょうか。
よろしくないです。
0498デフォルトの名無しさんNGNG
keisan1の方は値のみ、keisan2の方は値が
格納されているアドレスが渡されている。
0499初心者です。NGNG
void keisan1(int a,int b);
int main(void)
{
int kazu1,ans1;

kazu1=10;
ans1=9999;
keisan1(kazu1,ans1);
printf("%d\n",ans1);
return 0;
}
void keisan1(int a,int b)
{
b=a*100;
}

このプログラムの間違いはどこなのですか?
0500デフォルトの名無しさんNGNG
正しい。
0501デフォルトの名無しさんNGNG
void keisan1(int a, int* b)
{
*b = a * 100;
}

int main(void)
{
int kazu1 = 10;
int ans1 = 9999;

keisan1(kazu1, &ans1);
printf("%d\n", ans1);

return 0;
}
このコードを見て自分で考えるべし!!
0502初心者です。NGNG
>>499のプログラムはなぜ実行結果が1000にならないのですか?(半泣)
0503デフォルトの名無しさんNGNG
>502
どんなCの本にでも載っていることだとおもうが。
0504デフォルトの名無しさんNGNG
>>502
void keisan1(int a, int b)の
int a 10が格納された変数
int b 9999が格納された変数

void keisan1(int a, int* b)の
int a 10が格納された変数
int* b 呼び出し元のans1変数のアドレスが格納されている変数

呼び出し元の変数の中身を変えるには変えたい変数のアドレスが必要
よって呼び出し側に中身を変えたい変数のアドレスを渡す

説明が下手でごめん・・・
0505初心者です。NGNG
>>501
はい。

1.まず、int型変数kazu1とans1が作られます。
2.kazu1に整数10、ans1に整数9999が入りました。
3.keisan1関数に10とans1のアドレスが飛びます。
4.keisan1関数で10×100、つまり1000が*bに格納されます。
5.keisan1関数から、10とans1のアドレスが帰ってきました。
6.ans1の中身は1000なので、printfの実行結果は1000になります。

あってますか?
0506デフォルトの名無しさんNGNG
>>505

> 5.keisan1関数から、10とans1のアドレスが帰ってきました。

アドレスなんかどこで返してるか?

0507デフォルトの名無しさんNGNG
OK!!
0508デフォルトの名無しさんNGNG
>>507
訂正。
>>506さんが言うようにそこはおかしい。
0509初心者です。NGNG
じゃあ何が帰ってきてますか?
0510デフォルトの名無しさんNGNG
>>476
nmake.exe のせいと言うことか ?
nmake.exe のバグで、>>473 みたいなことするのは難しいと思うぞ。
それとも、お前のバカメイクと言う奴は *.obj の中身を触ってるのか ?
0511デフォルトの名無しさんNGNG
>>509
帰るというニュアンスがおかしい。
keisan1関数に値を渡しているだけ。
0512511NGNG
「渡す」より「教えている」の方が分かりやすいかな?
0513初心者です。NGNG
>>511
keisan1関数はmainになにも値を返していない?
0514デフォルトの名無しさんNGNG
何も返さないから、voidっていうことにしたいんですね :-)
0515デフォルトの名無しさんNGNG
>>513
VBと混同していない?
C言語では引数で「返す」ことはできない。
0516511NGNG
>>513
そう。
返すとは、
int keisan1(int a)
{
return a*100;
}
のようにする事。
0517デフォルトの名無しさんNGNG
>>515
引数で返すことができないと言い切ってしまうと間違いになるが。
0518初心者です。NGNG
やはり誤解していました。
値を返すにはreturnが必要なのですね!
0519初心者です。NGNG
値を二つ返したい場合は、
return (a,b)ですか?
0520デフォルトの名無しさんNGNG
>>519
そうきたか、やっぱり。
0521511NGNG
いや、値を複数返すのは不可能だから、
引数で*を使用してやるしかない。
0522デフォルトの名無しさんNGNG
さてポインタの話になるわけだが。
0523デフォルトの名無しさんNGNG
>>520
予想通りでしたか?
最初はみんな考えそうなことですね。
0524初心者です。NGNG
なるほど〜。だからポインタが必要になるわけですね。

ポインタだと、変数の中身を関数で変更してしまうから値を返す必要がないというわけですね。
0525デフォルトの名無しさんNGNG
さてここからポインタ厨の講釈が始まるわけだが。
0526JPS ◆M0LaMzf5rY NGNG
ローマ字を日本語に直すプログラムを作ろうと思うんだけども。
最初は半角カタカナでやったほうがいいよえね?
全角って2バイト?
0527デフォルトの名無しさんNGNG
とりあえずこの初心者は話にならんから、
K&Rでも真っ当に読み直せ。以上。
0528デフォルトの名無しさんNGNG
>>524
そうだね。
0529初心者です。NGNG
ああ、わかった。うれしい!

みなさま、感謝です!
試験まであと4日、がんばります!
0530JPS ◆M0LaMzf5rY NGNG
あ。なんでgetchar使うときはint型の変数使うんでつか?
0531デフォルトの名無しさんNGNG
>>529
がんばれよ!!
0532デフォルトの名無しさんNGNG
>>530
charだと0xffとEOFの区別がつかないから。
0533デフォルトの名無しさんNGNG
>>530
初心者は素直にFAQよんどれ。なんども厨房な質問すんな。
0534デフォルトの名無しさんNGNG
>>529
他人事ながら心配になってきた。もしかしてネタ?
0535初心者です。NGNG
>>531
はい!ありがとうございます!
あと4日でポインタ配列まではマスターしなければならないので、
また教えてくださいね。
0536JPS ◆M0LaMzf5rY NGNG
>>532
0xffって具体的に何?
0537初心者です。NGNG
>>534
日曜日に情報処理活用能力検定2級受けてきます。
0538デフォルトの名無しさんNGNG
>>536
だからFAQ読めって。お前は自分の都合の悪いことは無視して、
質問することしかできんのか?
0539532NGNG
…。
これ以上どう具体的にしろと……。
0540デフォルトの名無しさんNGNG
>>536
ASCIIコード表でも見れや。
0541デフォルトの名無しさんNGNG
つーか、>>1に
>入門書レベルの質問はC言語質問所スレへ行け。
って書いてあんのにさ。きっちり誘導すれば厨房初心者は向こう
行ったろうに。気まぐれで答えてやったりするから収拾つかなくなる。
0542デフォルトの名無しさんNGNG
>>536
16進数 0xff
10進数 255
2進数 11111111
0543デフォルトの名無しさんNGNG
さてJPSはまたしても無視するわけだが。
0544質問に答えてきた者NGNG
>>541
すまん、>>1を読んでなかった・・・
0545初心者です。NGNG
C言語質問所 <45>
http://pc3.2ch.net/test/read.cgi/tech/1038324550/

↑こちらで質問したほうがよかったですか?
ずいぶん荒れていたので・・・。すいません。
0546デフォルトの名無しさんNGNG
「C言語のことは俺に聞け」とあれば聞きたくなる気もする。

でも入門書レベルの質問は以下にお願いします。

C言語質問所 <45>
http://pc3.2ch.net/test/read.cgi/tech/1038324550/
0547JPS ◆M0LaMzf5rY NGNG
255?それがなにか意味あるの?
unsigned charだったら表現できるしょ?
0548デフォルトの名無しさんNGNG
>>546
正直言って「C言語のことは俺に聞け」とあればネタスレだと思ってしまう。
でもあっちは荒らされているのでこっちにも書きたくなる。
0549デフォルトの名無しさんNGNG
やはりJPSは無視し続ける訳だが。氏ね。
0550デフォルトの名無しさんNGNG
>>548
あっちは
>まずは腕立て伏せ100回。
>話はそれからだ。
だもんなあ〜。
0551JPS ◆M0LaMzf5rY NGNG
だれか教えてくれええええ
入門書に書いてないYO!
K&Rに任意の可能なcharってあるけど
charだと256種類表現できるわけでしょ?
そこには英数字いれても十分空きがあるわけだから
0xffはcharで表現できるんでないの?
0552デフォルトの名無しさんNGNG
>>551
EOFを入れて257種類だってば。
0553JPS ◆M0LaMzf5rY NGNG
>>552
ってことはcharで256個の文字を保持してるってこと?
ANSCIIのコード表だと127個しかないけどもどゆこと?
0554デフォルトの名無しさんNGNG
>>553
ASCIIしか相手にしないの?
0555晒しageNGNG
ANSCII
0556デフォルトの名無しさんNGNG
>charで256個の文字を保持してる

重症だな
0557デフォルトの名無しさんNGNG
>>551
getchar() の入力が必ずキーボードであると想定するな。
0558JPS ◆M0LaMzf5rY NGNG
いま色々みてたら、EOFの値は処理系依存で、大抵-1だけど
charが符号付かどうかも処理系依存だから、符号なしの場合は
EOFを認識できないからintを使うって書いてたけど、これであってんの?
0559デフォルトの名無しさんNGNG
>>557
身近なところだとファイルからリダイレクトってのがあるな。
0560デフォルトの名無しさんNGNG
JPS ってさ、出てきた時は、正直、こいつちょっと頭悪いんじゃないか
って思ってたけどさ。そうじゃなかったよ。








ものすごく頭悪い。
0561デフォルトの名無しさんNGNG
まあ、色々な疑問を持つのは良いことだけど・・・
0562JPS ◆M0LaMzf5rY NGNG
ていうかchar型で256種類もどんな文字あるの?
0563デフォルトの名無しさんNGNG
>>560
お前も昔は同じようなもんだったんだろ?プ
0564ためしに誘導してみるテストNGNG
>JPSさん
厨房な質問はこちらでお願いします
c言語質問所
http://pc3.2ch.net/test/read.cgi/tech/1038324550/l50
0565デフォルトの名無しさんNGNG
>>558
何のページをみてるんだか知らんけど、その説明じゃ大嘘だ。
(よりによってなんでまたそんな説明のページを…)
charが符号つきだろうが符号なしだろうが関係ない。
0566デフォルトの名無しさんNGNG
カレー
0567デフォルトの名無しさんNGNG
>>564
あっちでは逆にこっちに誘導しているみたいだけど
どうなってんの?
0568JPS ◆M0LaMzf5rY NGNG
>>565
この説明が一理あるのも分かるけど。
EOFって文字じゃないわけでしょ?ただの整数値だよね?
それだったらEOFもchar型の文字にしてって事はなんでしないの?
0569JPS ◆M0LaMzf5rY NGNG
getcharによって入力された文字がAだったとします。
しかし変数に記憶されるデータは65という数値データになるのです。
この65という数値はAに対応する「文字コード」になっています。
getcharは取得した文字を文字コードに変換して変数に記憶させるため、
int型を利用します。

この説明で正しい?
0570デフォルトの名無しさんNGNG
>>568
じゃあお前のプログラムが読むファイルに 0xff が出てきたら
そこがファイルの終端ってことにしろよ。絶対しろよ。
0571デフォルトの名無しさんNGNG
>>568-569
557 や 559 は完全無視か?
getchar() の正常値は、char が取りうる全ての値。
そのどれかを EOF にすると、正常値なのか EOF なのか判断できなくなる。
0572デフォルトの名無しさんNGNG
>>568
まあchar型を8bitと仮定しよう
そうするとchar型のとり得る値には256通りあるわけだ。
よって必然的にgetchar()の返す値も最低256通り必要になる。
そしてそれに加えてEOFという特殊な印を1種類返す必要があるわけだ。
そうするとgethcar()は最低257通りの値を返さないといけないことになる。
つまりchar型では不可能なんだよ。分かる?
0573デフォルトの名無しさんNGNG
JPS に一言。
getchar() が返すのが文字であって、数値ではないと思っているのなら間違っているから改めてくれ。
0574デフォルトの名無しさんNGNG
>>572
おっ、分かりやすい。
0575デフォルトの名無しさんNGNG
>>571-572
お前ら優しいな。
0576JPS ◆M0LaMzf5rY NGNG
ああ!わかりますた。256種類使うかどうかに関係ないんでつね。
0〜255の値を返すから、それ以外の整数地をEOFにするんでつね?
0577デフォルトの名無しさんNGNG
>572
ふと思ったけど、sizeof(char) == sizeof(int)な環境はどうなるんだろう...?
0578デフォルトの名無しさんNGNG
>>576
0〜255かどうかは処理系依存だが
まぁだいたい理解できたみたいだからOK
0579JPS ◆M0LaMzf5rY NGNG
ありがとございました。
>>577
色々調べてたらこんなのがありますた。

getchar は文字を返す関数なのだから、 char の変数に戻り値を受けた。なぜこれが非難の的になるのか。
A
 あまり難しく考えることはありません。マニュアルを見てください。どのマニュアルにも、 getchar() の型は int と書かれているし、ANSI Cではそのように定義されています。従って、 getchar() の戻り値は int の変数で受けるのです。
 getchar() は、実際、0〜255の値と、 EOF という値(おそらく-1)の、合計257通りの値を戻します。これは char の範囲では受け切れません。あえて char の変数で受けるなら、 EOF と255は区別できないことになります。

 「私の処理したいファイルの中には255などという文字コードは使われていないから char で受けても実害はない」という主張を見たことがありますが、 int で受ければさらに実害はないはずです。

0580デフォルトの名無しさんNGNG
つまり色々調べずに質問してた、と。
0581デフォルトの名無しさんNGNG
>580
まあ調べもしないヴァカな質問にも、答える香具師がいるからな。
0582JPS ◆M0LaMzf5rY NGNG
調べてもわからないんです。
自分で確認しながらじゃないと、理解できないんで。
ここでみんなと語らい、確かめてますた。
0583JPS ◆M0LaMzf5rY NGNG
ふと思ったけど、もしね、char型がgetchatのためにあったとしたら、
0xffをEOFとすれば、int使わなくてもいいんだよね?
0584デフォルトの名無しさんNGNG
>>583
言いたいことは分かるが。
0585デフォルトの名無しさんNGNG
ISO/IEC 9899:1999
7.19.7.6 The getchar function
Synopsis
1 #include <stdio.h>
int getchar(void);
Description
2 The getchar function is equivalent to getc with the argument stdin.
Returns
3 The getchar function returns the next character from the input stream pointed to by
stdin. If the stream is at end-of-file, the end-of-file indicator for the stream is set and
getchar returns EOF. If a read error occurs, the error indicator for the stream is set and
getchar returns EOF.

getchar() が返す正常値については何も記述がない。
0586デフォルトの名無しさんNGNG
>>582
アセンブラ勉強すると理解度UP
0587デフォルトの名無しさんNGNG
>>583
分からん。どゆこと?
0588デフォルトの名無しさんNGNG
>>584
わかるのか、すごいな。
漏れは分からなかったぞ。
0589JPS ◆M0LaMzf5rY NGNG
>>585
getchar()が返す正常値ってchar型の文字のコードでないの?
0590デフォルトの名無しさんNGNG
>>577
getchar()が返す正常値は処理系のchar型の範囲じゃないのではないか。

The byte input/output functions those functions described in this subclause that
perform input/output: fgetc, fgets, fprintf, fputc, fputs, fread,
fscanf, fwrite, getc, getchar, gets, printf, putc, putchar, puts,
scanf, ungetc, vfprintf, vfscanf, vprintf, and vscanf.
0591デフォルトの名無しさんNGNG
ちなみに、EBCDIC 942 では、~ は 0xFF だな。
0592デフォルトの名無しさんNGNG
>>590
??
0593デフォルトの名無しさんNGNG
>>589
だから何度も文字とは限らんと言っているだろう。
大体文字コード体系も限定されとらん。
0〜255まですべて文字で使うコード体系の環境で動くプログラムをC言語で組むかもしれないだろ。
0594デフォルトの名無しさんNGNG
ちなみに、Wingdings では 0xFF は Windows ロゴだな。

ASCII 系の環境でも、あるコードが ASCII に定められていないからと言って
文字として使われていないとは思わない方がいい。
0595JPS ◆M0LaMzf5rY NGNG
>>593
591みたいにね。文字とは限らんって他にはたとえば何があるのかな?
0596デフォルトの名無しさんNGNG
>>585
> getchar() が返す正常値については何も記述がない。

それは...

> The getchar function is equivalent to getc with the argument stdin.

だから記述がないだけ。getchar() → getc() → fgetc() にある。

If the end-of-file indicator for the input stream pointed to by stream is not set and a
next character is present, the fgetc function obtains that character as an unsigned
char converted to an int and advances the associated file position indicator for the
stream (if defined).
0597デフォルトの名無しさんNGNG
>>595
111111111111111100000000000000111111
みたいな文章でなくて何かのデータを
getchar() で読み込むことだってあるのよ。
0598JPS ◆M0LaMzf5rY NGNG
>>597
ああ。それがさっき言ってたファイルの話か。
ベンキョウになりますた。
0599デフォルトの名無しさんNGNG
>>549
プ
0600デフォルトの名無しさんNGNG
>>597
それ文字やん。誰も「文章」云々は議論しとらん。話をややこしくするなよ。

>>598
何の勉強になったんだ ?


要は、バイナリデータを getchar() で読むこともあるってこと。あまりお勧めではないけどね。
0601デフォルトの名無しさんNGNG
>>600
>>597の1111・・・ってのはそういう文字列のことを言っているわけではないと思うんだが・・・
0602デフォルトの名無しさんNGNG
本当に分かったのか…?
0603JPS ◆M0LaMzf5rY NGNG
バイナリデータを読み込むのに使うんだなって勉強になりますた。
0604デフォルトの名無しさんNGNG
>>600
>要は、バイナリデータを getchar() で読むこともあるってこと。あまりお勧めではないけどね。
なんで?フツーに大丈夫だと思うが。お勧めでない理由は?根拠は?
0605JPS ◆M0LaMzf5rY NGNG
>>602
わかったYO!なんとなくだけど。
バイナリデータだったらそのまま0と1の羅列でしょ?
8bitをフルに使う可能性は120%あるってことか!
0606デフォルトの名無しさんNGNG
漏れも、fread() を使って 1 文字ずつ読むとか一気に読んでバッファリングして
プログラムを複雑にしたりするくらいなら、getchar() や fgetc() のがいいと思う。
元々 FILE はバッファを持っているし。
0607デフォルトの名無しさんNGNG
ブランクって空白文字のこと?
タブとかいれないで。いわゆるスペースか?
0608デフォルトの名無しさんNGNG
定義による
0609デフォルトの名無しさんNGNG
すっとこどっこい
0610デフォルトの名無しさんNGNG
厨房だった俺はオヤジの洗濯屋けんちゃんを発見して
サルの様に抜きまくっていたのはいいんだが、
なぜか自己嫌悪に駆られてビデオを捨ててしまったのだよ(オヤジのなのに)。

あれから15年近く経つけど、オヤジは何も言ってこない。
でもひょっとしてオヤジも大切にしてたのかも…と思うと、やっぱり返してあげたいんだよね。
0611デフォルトの名無しさんNGNG
ええ話あげ
0612デフォルトの名無しさんNGNG
すれ違いサゲ
0613デフォルトの名無しさんNGNG
>>610
泣けました・・・
0614デフォルトの名無しさんNGNG
ビデオデッキを捨てたのか・・・
0615デフォルトの名無しさんNGNG
泣けるか!ヴォケ。
0616デフォルトの名無しさんNGNG
質問。
今、VC6 でこんなコードが通るのを確認してしまった。

int $ = 123;
printf("%d\n", $);

変数名に $ は OKなの??
0617デフォルトの名無しさんNGNG
>>616
漏れも通った

printf("%d\n", $_);

Perlっぽいな
0618デフォルトの名無しさんNGNG
VCで通るからといって規格上正しいコードと思ったら大間違い。
0619デフォルトの名無しさんNGNG
VC++的には正しいコードなんだろ。
0620デフォルトの名無しさんNGNG
規格上正しいコードだからといって
メジャーなコンパイラで通ると思ったら大間違い。
0621デフォルトの名無しさんNGNG
>>616
gccでも通るよ。
0622デフォルトの名無しさんNGNG
>>617
「漏れも」 じゃなくてコンパイラを書いてくれ。

gcc-2.95.1 で通った。
BCC 5.5.1 では通らなかった。

まあ、C では $ はメタ文字じゃないから、通ってしまうのもわからんでもないが・・・。
0623デフォルトの名無しさんNGNG
template<typename $> hoge(){$ $$}

よし、今日からこうしよう。
Tはもう古い。通はこれ。
0624デフォルトの名無しさんNGNG
しかし規格にも MSDN にも、識別子に $ が使えるなんてちっとも書いてないんだよなあ・・・。
0625デフォルトの名無しさんNGNG
>>623
ほんとにPerlみたいだよ…
0626デフォルトの名無しさんNGNG
std::string A$;
0627デフォルトの名無しさんNGNG
結論:
$はperlっぽい。


      $   は   p   e   r   l   っ   ぽ   い   。
0628デフォルトの名無しさんNGNG
>626はBASICっぽいがな。
0629デフォルトの名無しさんNGNG
>>616
というか、どういう経緯でそういうコードを書こうと思ったのか知りたい。

そういえば、昔、知り合いが _ だけの変数を使っていて、間違いじゃないけど、
ちょっとショックを受けた。
0630デフォルトの名無しさんNGNG
>>629
知り合いは MLer!!
0631デフォルトの名無しさんNGNG
int _;
_= --_ - _--;
0632デフォルトの名無しさんNGNG
>>631
禿しく未定義!!
0633デフォルトの名無しさんNGNG
>>631
nxt?
0634デフォルトの名無しさんNGNG
モールス信号みたいね。
0635デフォルトの名無しさんNGNG
_ は Splus だヴぁー?(・┏┓・)
0636デフォルトの名無しさんNGNG
BrainFacker
0637デフォルトの名無しさんNGNG
日本語変数名使用可能なC処理系ってあったよね?
int  =2,(・,┏,┓,・),; /* 全角スペースは使用できるだろうか? */
char *ヴァー="(・┏┓・)";
printf("%d\n", );
0638相互リンクNGNG
http://pc3.2ch.net/test/read.cgi/tech/1038031395/266-

>>622 が gcc で通ったと報告しなかったらうんちMSが
「これだから VC++ は…」と言っていたに5600万ガバス!
0639デフォルトの名無しさんNGNG
GCC.EXE (GCC) 3.2 (mingw special 20020817-1)
でも通りました。>$
0640デフォルトの名無しさんNGNG
>>627
perlなら$_を使え!

$_ = 2;
main(){
 printf("%d\n",$_);
}
0641デフォルトの名無しさんNGNG
>>640 それだ!(gcc 3.2 on Cygwin)

$_=1,*$=&$_,$1;
main() {
 *$='#'%~!&$1;//
 printf("%d\n",*$);
}
0642デフォルトの名無しさんNGNG
_;main(){printf("%d\n",
  (6^_^9)
);}
0643デフォルトの名無しさんNGNG
>>642
そろそろつまらん
0644デフォルトの名無しさんNGNG
C言語始めたいんだけど、お勧めの参考書あります?
0645デフォルトの名無しさんNGNG
/* Hello world */
#include <stdio.h>
int main(){
printf("Welcome to HellWorld!");
return 0;
}
0646デフォルトの名無しさんNGNG
ここは参考になるかも。
ttp://homepage2.nifty.com/rohizuka/ka/pa_003_a.htm
0647デフォルトの名無しさんNGNG
呪いは始まったとか書いてあったんですけど・・
0648デフォルトの名無しさんNGNG
pa_003_a はもういいでつ
0649デフォルトの名無しさんNGNG
$は規格が出来る前のコンパイラで使えた。
gccは互換性のため$を使えるようにしているが、オプション指定でエラーにすることも出来る。

ってことだったような。
0650デフォルトの名無しさんNGNG
わかった、こうだ!!

double A = 12.345;
char A$[] = "abcde";
0651デフォルトの名無しさんNGNG
>>650
外出
0652デフォルトの名無しさんNGNG
ちょっと質問。

for(...) {
 for(...) {
  if(...) {
   処理1;
   goto next_loop;
  }
 }
 処理2;
next_loop:
 ;
}

これをgotoもフラグも使わずに書ける?
関数を分けるとかも無しで。
0653652NGNG
ちなみに、ifや2番目のforの条件式の中身は、
その上のループカウンタに依存します。
0654デフォルトの名無しさんNGNG
setjmp...longjump...
0655デフォルトの名無しさんNGNG
そんな制御文作るやつの宿命だ > goto hell
0656652NGNG
>>653
こうですか?

for(...) {
 jmp_buf mark;
 if(setjump(mark) == 0) {
  for(...) {
   if(...) {
    処理1;
    longjmp(mark,1);
   }
  }
  処理2;
 }
}
0657652NGNG
× >>653
○ >>654
0658デフォルトの名無しさんNGNG
>>652
for(...) {
  for(...;式;...) {
    if(...) {
      処理1;
      break;
    }
  }
  if (!式) {
    処理2;
  }
}
式はフラグとみなすか?
0659デフォルトの名無しさんNGNG
処理1の中で式の値が変わるかも。
0660658NGNG
for(...) {
  for(...;;...) {
    if (!式) {
      処理2;
      break;
    }
    if(...) {
      処理1;
      break;
    }
  }
}
0661デフォルトの名無しさんNGNG
さっさとbreak label;を仕様に盛り込め
0662デフォルトの名無しさんNGNG
bolandのコンパイラの設定の方法を優しく教えてくれるサイトはありませんか?
なければ誰か教えてください
0663デフォルトの名無しさんNGNG
質問があります。
私は、C言語でDOS/VマシンのCOM1ポート(RS232C)を
DOSモードで制御して外部機器へ命令したいと考えています。
しかし、ネットや本で調べたところVBなどで書くのが主流のようで
プログラムの方法がわかません。

なんらかの情報でもよいので教えていただけませんか?
よろしくお願いします。
0664デフォルトの名無しさんNGNG
プリプロセッサに対して、
#error "逝ってよし"
みたいなことが出来ますが、
これをメッセージだけ表示するようにすることは
できますか?
0665デフォルトの名無しさんNGNG
if((fp=fopen("a.txt","r"))==NULL) exit(-1);
これで、exitをfflushにしてファイル操作をやめてプログラムを続行するのは駄目ですか?
0666デフォルトの名無しさんNGNG
>>663
DOS/VではVBは動かんと思われ
0667デフォルトの名無しさんNGNG
>>665
何をfflushするんだよ。stdoutか?
意味のある処理が続行できるんなら続行しろよ。
そんな一行だけ見せられても、お前のプログラムの仕様なんて分からん。
0668デフォルトの名無しさんNGNG
>>667
いや、こういうのをよく見るんだけど、exitでは全てのファイルバッファをフラッシュするというから
そういうことをする必要があるのかなと思って…
そのまま続行したい場合は何もしなくていいのですか。

というか変なこと言ったみたいですね。スマソ
0669デフォルトの名無しさんNGNG
Pythonを基礎の基礎の基礎から始めたいんですが、本とかじゃなくてサイトで学習したいです。
オススメのサイトってありますか?
0670デフォルトの名無しさんNGNG
はいネタおもしろい〜
0671669NGNG
>>670
え?誰に言ってるの?俺?
全然ネタじゃないですが・・・
Pythonって駄目なんですか?
0672668NGNG
?
折れ?
だとしたらもういいや、鬱だ寝よう
0673デフォルトの名無しさんNGNG
WindowsMEを使用しているのですが、
Cドライブのなかの「AUTOEXEC.BAT」にパスを書込めば完成なのでしょうか
0674デフォルトの名無しさんNGNG
・・・
0675673NGNG
ダメです。コンパイラ動きません。
0676デフォルトの名無しさんNGNG
>>1 も見ないようなクソ共に一体何を教えろというのだ
0677673NGNG
間違えてBAKのほうに書いていました。
0678デフォルトの名無しさんNGNG
bak all right. bak all right!
0679デフォルトの名無しさんNGNG
つい先日Cを始めたんです。
今勉強してるんですがどうしても
for文、while文が理解できません。
どなたか教えていただけないでしょうか?
あと、for文ってCを学ぶ上でそんなに重要なものなんですか?
よろしくお願いします。
0680デフォルトの名無しさんNGNG
for(A;B;C)D;
は
A;label:if(B){D;C;goto label;}

while(A)B;
は
label:if(A){B;goto label;}
0681デフォルトの名無しさんNGNG
>>679
なくてもプログラムは書ける
…が、絶対覚えたほうがいい。
書き直すとこうなる

for( i = 0; i < 5; i++ ) {....}
↓
i = 0;
while( i < 5 )
{
  i++;
}
0682679NGNG
いろいろ自分なりにも勉強してるんですけど
難しいですね。

for(式1,式2,式3){...}

式1=初期化の式
式2=繰り返すかどうか調べる式
式3=変化のための式

こう書いてあるのを理解しようとしているのですが・・・。
高校一年生には難しいです。
それとも深く考えすぎですかね?

あと、もう一つせっかくなので質問させていただきますが
for文、while文はどちらも似た様なものなんですよね?
ということはどちらか一つだけ覚えれば十分てことですか?
よろしくお願いします。
0683JPS ◆M0LaMzf5rY NGNG
>>679
for文はwhileぶんと似てるよね。たとえばさ

for(i = 0 ; i < MAX ; i++)
  printf("%d",i);
っていうのは

int i = 0;
while(i < MAX)
{
  printf("%d",i);
  i++;
}

ってなるしょ?whileに+αしたのがforって感じかな。
この場合はforの方がすっきりしてみやすいけど、
whileの方がずっと見やすい事もある。初期化が不要だったり、ポインタ演算使うときとか。
だから両方覚えたほうがいいYO!
0684デフォルトの名無しさんNGNG
>似た様なもの...ということはどちらか一つだけ覚えれば十分

それ言ったらifとgotoでも十分だが最も意味的に
分かりやすいのを書くのが定石
0685デフォルトの名無しさんNGNG
exitの仮引数って意味はあるんですか?
どんな値を渡しても、ちゃんと終了してくれるんでしょうか?
あと、returnに1とか渡して、main関数を終わらせるのは、間違ってますか?
0686デフォルトの名無しさんNGNG
htmlファイルの解析したいんですけど
例えばソースファイル内に<B>があるが探したい場合
どうすれば効率よく検索できますか?
0687デフォルトの名無しさんNGNG
char *stringがあって、stringの中に\が含まれていたら、それを\\に置き換えたいです。
例
string = "hoge\\hoge\"
処理後↓
string = "hoge\\\\hoge\\"

stringを1文字目から見ていって、\があったら、それ以降の文字を1つずらして、\を挿入するように
したいのですが、文字列をずらす、もしくは文字を文字列に挿入するといった関数はありますか?
0688デフォルトの名無しさんNGNG
>>685
exitの引数はシェルへ返す値だったとも終われ。
どちらの方法も間違いではない。
0689デフォルトの名無しさんNGNG
>>685
mainが0以外を返すというのはエラーが起こったと言うことですね。
0690デフォルトの名無しさんNGNG
>>687
それ、文字列の長さとかを拡張したりしなきゃいけないんでかなり大変。がんばって!
0691デフォルトの名無しさんNGNG
>>686
exitのときは、色々処理をしていますよね?
私も詳しい事はわかりませんが、りふぁんれすに書いてありました。
return 1とした場合、どんな意味があるんですか?
異常終了してことを教えているんでしょうか?
0692デフォルトの名無しさんNGNG
>>686
文字列 検索 アルゴリズム
でGoogle検索。

>>687
ない。
ずらすときは確保したメモリからはみださないようにな。
0693デフォルトの名無しさんNGNG
>>689
一概には決まってなかった気が。結局環境依存になると思われ。
0694デフォルトの名無しさんNGNG
>>689
ありがとうございます。
exitの方が好ましいということはないんでしょうか?
返す値は1とかでいいんですね?
0695デフォルトの名無しさんNGNG
>>687
別領域にコピーしながらやるがよろし。

>>691
0なら正常、非ゼロなら異常終了という以外は
なにも決まっていない。1として良いかどうかも処理系定義。

完全にポータブルにしたければEXIT_SUCCESS(=0)と
EXIT_FAILURE(値は処理系定義)以外は使えない。
0696デフォルトの名無しさんNGNG
やはりCは文字列の扱いがめんどくさいね。
0697デフォルトの名無しさんNGNG
MSDNより

exit 関数と _exit 関数は値を返しませんが、
親プロセスが待ち状態の場合は、呼び出し側プロセスの終了後に、
親プロセスが status の下位バイトを受け取ります。
status は、オペレーティング システムのバッチ コマンド
ERRORLEVEL で参照でき、次の 2 つの値のどちらかで示されます。
EXIT_SUCCESS は 0 です。EXIT_FAILURE は 1 です。

# statusはexitの引数のことね
0698デフォルトの名無しさんNGNG
>>694
まあ、あれだ、シェルスクリプトを書くときにコマンドの返り値によって処理を変える
とかそういった使い方かな。
0699デフォルトの名無しさんNGNG
>>C言語でやるのだったらはどうすればよいでしょうか?
0700デフォルトの名無しさんNGNG
>>699
意味不明
0701デフォルトの名無しさんNGNG
>>700
それを言いたいためだけに2レスも消費したんですか?
0702デフォルトの名無しさんNGNG
>>699
GetExitCodeProcess
0703デフォルトの名無しさんNGNG
main関数がintを返すのって規格だよね?
return 書いてないのは、だめなんでないの?
0704デフォルトの名無しさんNGNG
おっと、ここはWinスレじゃなかったか
0705デフォルトの名無しさんNGNG
C99ではmain関数の終端は勝手にreturn 0;になる
0706デフォルトの名無しさんNGNG
>>703
mainに限ってはreturnがなくても0を返すとみなすっていう話題が最近あったような・・・
0707デフォルトの名無しさんNGNG
>>706
前橋はreturn しろと言っているが・・・
K&Rがreturn書いてないのは問題ないの?
main()ってvoid main(void)って事でないのか?
0708デフォルトの名無しさんNGNG
>>707
int mainだと思われ。
0709デフォルトの名無しさんNGNG
>>707
またその話題かよ。と言われるのが落ちだぞ。というか俺が言った。
0710デフォルトの名無しさんNGNG
K&Rは糞という結論に。
あのmainの書き方は、ANSI準拠を詠う資格はない!
mainはreturnすべき、絶対に。
0711デフォルトの名無しさんNGNG
えーと、C言語でチンコの勃起角を求める方法おしえてください。
0712デフォルトの名無しさんNGNG
>>711
こうでつ。

main()
{
  int std_length,bokki_length;

  scanf("%d %d",&std_length,&bokki_length);
  printf("勃起角は%f度でつ。",(bokki_length - std_length) * 19.19072);
}

公式でつ。試験に出ます。
0713デフォルトの名無しさんNGNG
>>706
return文書かずにgccでコンパイルして実行したら3が返ってきたぞ。
int main(){}
0714デフォルトの名無しさんNGNG
>>713
それがゴミじゃないって保証は?
0715デフォルトの名無しさんNGNG
>>713
何も帰ってきませんが?
0716デフォルトの名無しさんNGNG
>>713
嫁が帰ってきませんが?
0717デフォルトの名無しさんNGNG
>>716
こんなところで遊んでないで実家言った方が良いって。
0718デフォルトの名無しさんNGNG
>>714
この場合ゴミだから問題あるわけだが。
0719デフォルトの名無しさんNGNG
>>718
ほんとだ。714をさらりと読んでた。
0720デフォルトの名無しさんNGNG
>>717
実家いったら,袋にされそう・・・
首輪がいけなかったか・・・
SEなんで給料がいいんだが,それでは補えなかったか
0721デフォルトの名無しさんNGNG
C89ではたぶん決まってないんだろうな。
でも、K&Rがreturn書かなかったものだからそれに合わせるように
C++/C99で変なルールを作ったと。
0722デフォルトの名無しさんNGNG
首輪プレイですか
0723714NGNG
ん?いや、だからゴミだから問題あるんだろ?
0724デフォルトの名無しさんNGNG
>>714
だからゴミなんだよ。
だから明示的にreturn 0;としなければいけない。
0725デフォルトの名無しさんNGNG
>>723
ゴミじゃないっていう保障は?
じゃなくて、
ゴミだっていう保障は?
って聞くべきだったって事
0726714NGNG
ああ、そうかごめん。706見て無かったよ。
0727デフォルトの名無しさんNGNG
アセンブラレベルで考えれば、実に明白。
0728デフォルトの名無しさんNGNG
>>727
ソース載せてもらえませんか?
0729デフォルトの名無しさんNGNG
なにガベってんだYO!
0730デフォルトの名無しさんNGNG
(´-`).。oO(本だったらスキャンして…
0731デフォルトの名無しさんNGNG
>>713
ちゃんとgcc -fstd=c99オプションつけた?
0732デフォルトの名無しさんNGNG
>>731
その前にgccのバージョンを聞かなくて良いんですか?さっきから疑問なんですが。
0733デフォルトの名無しさんNGNG
>>731-732
2.95です。
cc1: Invalid option `-fstd=c99'
0734デフォルトの名無しさんNGNG
C言語は終わったはずなのに、なんでこのスレは好調なんだ?宿題か??
0735西門 ◆J1DLkSnXwI NGNG
>>733
ドキュメントに載ってない?
昔は何だっけ… -std=c9x だっけ。
0736デフォルトの名無しさんNGNG
>>734
ご自分のスレッドに帰るのが身のためです。
0737デフォルトの名無しさんNGNG
16進数なら0x、8進数なら0を前につけますよね。
2進数ならどう書けばよいのですか?お教えください。
0738デフォルトの名無しさんNGNG
>>737
Cでは表現できませんよ。
0739デフォルトの名無しさんNGNG
>>737
規格では出来ない。
コンパイラによっては拡張機能として0bで指定できるものもある。

そういう機能がない場合は↓みたいなのを定義するとか。
#define Ob0000_0000 0
#define Ob0000_0001 1
#define Ob0000_0010 2
…
0740デフォルトの名無しさんNGNG
>>739
マクロで表現すれば使えそうですね。
0741デフォルトの名無しさんNGNG
#define Ob0000_0000 0
#define Ob0000_0001 1
#define Ob0000_0010 10
0742デフォルトの名無しさんNGNG
LCC-Win32なんですが、>>2でライセンスや機能などに問題あり、とありますが
どのように問題があるのでしょうか。

英語め…。
0743デフォルトの名無しさんNGNG
>>742
漏れも英語わからんがダウンロードしてみた。
インストーラに出てくる Licence Agreement で、商用禁止をうかがわせる
文があった。
学術研究に関してなら制限無しのようだ。
機能についてはまだわからない。
0744デフォルトの名無しさんNGNG
機能については、日本語に対応していないこと、C++ が使えない事以外は問題なさそうだ。
0745デフォルトの名無しさんNGNG
>>743-744
おおお、どうもです。
機能の問題はやっぱりそれだけですよね。
商用禁止か、
これで作ったものをフリーで配布することに関しては問題無いのだろうか…?
実際使ってるのですがね。
0746デフォルトの名無しさんNGNG
free()に配列の配列を渡した時、
その配列が作られた過程を問わず、全ての領域を解放してくれますか?

つまり、

/********* 以下、プログラム(headerファイルのincludeは省略) **********/
int i;
int num_of_strings = 123, len_of_a_string = 1024;
char **strings;

strings = (char **)calloc(sizeof(char *),num_of_strings);
for(i=0;i<num_of_strings;i++)
strings[i] = malloc(len_of_a_string);

free(strings);
/****************************** 以上 *********************************/

としたとき、
最後のfreeは、その上のforの中でmallocした領域も解放してくれるか?
ということです。
それとも、for(〜〜) free(strings[i]); をその前にやらなきゃいけませんか?

よろしくお願いします。
0747デフォルトの名無しさんNGNG
>>746
解放しません。自分でやりなさい。
0748デフォルトの名無しさんNGNG
>>746
Cがそんなに便利な言語なわけなかろう。
0749747NGNG
ありがとうございます!
0750デフォルトの名無しさんNGNG
>>744
すまん、読み間違えていた。
LCC 本体および付属品を転売してはいけない、と書いてあった。
雑誌の付録につけたりするのが NG なのかな。

LCC でコンパイルされたプログラムはその作者に属し、LC 作者の許可を得る事なく
販売できる、と書いてあった。
0751デフォルトの名無しさんNGNG
>>750
ああ、そうなのですか。
では自由に配布もできますね。
落としてわざわざ見ていただいて、感謝です。ありが�d。
0752デフォルトの名無しさんNGNG
>>746よ、お主が提示したもの配列の配列ではない
075360cm浮き上がるストレートNGNG
進数チェンジャーできました。どうでしょう。
#include <stdio.h>
#include <string.h>
#define BEFORE_NUM "60cm" //前の数値
#define BEFORE_SIN 23 //前の進数
#define AFTER_SIN 10 //後の進数
int main(void)
{
 long i,s,r,n;
 char bC[]=BEFORE_NUM;
 long bN,bS=BEFORE_SIN,aS=AFTER_SIN;
 printf("%s(%ld)\n↓\n",bC,bS);
 s=strlen(bC)-1;
 for(i=0,r=1,bN=0;i<=s;i++,r*=bS)
 {
  n=bC[s-i];
  bN+=(n>'9'?n-'a'+10:n-'0')*r;
 }
 for(i=1;i<=bN/aS;i*=aS)
  ;
 for(;i>=1;i/=aS)
 {
  n=bN/i%aS;
  printf("%c",n>=10?'a'+n-10:'0'+n);
 }
 printf("(%ld)\n",aS);
 return 0;
}
0754デフォルトの名無しさんNGNG
読み込みは strtol()
075560cm浮き上がるストレートNGNG
>>754
知りませんでした。そういうのがあったのですね。
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/strtol.3.html
0756デフォルトの名無しさんNGNG
>>687
コンソールプログラムで置き換えしながら、printfで順次文字出力するプログラムを作って、
リダイレクトでテキストに出しなされ。
0757デフォルトの名無しさんNGNG
char hoge[40];

if(hoge == ' ',' ',' ',・・・・){

hogeの中身がスペースだったら、っていう
ショリするときってこうするしかないのでしょうか?
0758デフォルトの名無しさんNGNG
>>757
その通り
0759デフォルトの名無しさんNGNG
>>757
不思議なコードだね
0760757NGNG
>>758 >>759

──■──■──────■─────────■────────────
─■─■─■────■■■■■─────■■■■───────────
■■■■─■■■■───■──■■─────■─■■■■──■■─■■
──■─■───■───■─■──■───■──────■─■■─■■
■■■■────■───■■───■───■─────■───■■■─
──■──■──■──■■────■──■───■──────■■■─
■─■■──■─■─■─■────■──■──■────────■──
─■■─────■───■────■─────■────────■──
■■────■■────■─────■─────■■■■■──────
0761デフォルトの名無しさんNGNG
またアホが沸いた
0762デフォルトの名無しさんNGNG
int Recv(char *pbuf)
{
char recvbuf[16384];
while(1) {
 recv(socket, recvbuf, 16384, 0);
}
・
・
}
みたいなプログラムがあって、この時どれくらいのサイズのファイルを
受信するか分からないので、mallocでバッファを確保したいのですが
この時に、関数Recv内ではなく、呼び出した側でmallocで確保したいのですが
何か良い方法はありませんでしょうか?
0763デフォルトの名無しさんNGNG
いまさらC?
0764デフォルトの名無しさんNGNG
>>763
Cをやってからほかに移るって手さ。
0765デフォルトの名無しさんNGNG
> if(hoge == ' ',' ',' ',・・・・){

常に成り立ちそうだ。
0766デフォルトの名無しさんNGNG
763
そ、そうか
そ、そういうかんがえがあるのか・・・
俺は今猛烈に感動している
0767デフォルトの名無しさんNGNG
>>762
どれくらいのサイズを受信するのか分からない場合は、普通どのくらいの
バッファを確保して言いか決定できない。
従って、とりあえず適当なサイズのバッファを確保し、受信してみて、
足りなかったら realloc() で拡張していく。
Recv() を呼び出した側で malloc() したいなら、そうして、ポインタを
Recv() に渡せば良いが、そうする意味はない。
0768757NGNG
初心者をいじめんといてください。。。

スペース入ってたら、という条件は
どうすればいいんですかー!!
ヽ(`Д´)ノ ウワァァン!!
0769デフォルトの名無しさんNGNG
>>757
strchr() じゃだめなの?
0770デフォルトの名無しさんNGNG
>>768
strchr
0771770NGNG
>>769
僕と結婚してくれませんか?
0772デフォルトの名無しさんNGNG
>>768
769 は無視しろ。

配列の内容は一気に比較できない。
for ループで回して 1 要素ずつ調べろ。
0773769NGNG
無視されてしまった・・・。
0774757NGNG
>>772
僕と結婚してくれませんか?

ガムバッテミマス!

アリガ�dゴザイマスタ

スマター!!
0775デフォルトの名無しさんNGNG
>>774
結婚してもスマタかよ
0776769NGNG
>>770
家事は分担ね。
0777デフォルトの名無しさんNGNG
>>770-771
どうして strchr() でいいと思ったんだ?
0778デフォルトの名無しさんNGNG
>>777
へ?strchrで駄目な理由って何?
char buf[256];
fgets(buf, sizeof buf, stdin);
if(strchr(buf, ' ') != NULL)
  printf("スペースが見つかった\n");
else
  printf("スペースが見つからなかった\n");
なんでわざわざループで回す必要があるのか小一時間問いつめたい。
0779769NGNG
>>777
これじゃダメなの?
#include <stdio.h>
#include <string.h>

int main(int argc, const char * argv[]) {
 char hoge[40];
 if (argc > 1) {
  strcpy(hoge, argv[1]);
  if ((strchr(hoge, ' ')) == NULL) {
   printf("エn");
  } else {
   printf("エn");
  }
 }
 return 0;
}
0780769NGNG
>>777
さっきの失敗。
こっちね。
#include <stdio.h>
#include <string.h>

int main(int argc, const char * argv[]) {
 char hoge[40];
 if (argc > 1) {
  strcpy(hoge, argv[1]);
  if ((strchr(hoge, ' ')) == NULL) {
   printf("あった\n");
  } else {
   printf("なかった\n");
  }
 }
 return 0;
}

0781769NGNG
ああ、また間違ってるし。
「あった」と「なかった」逆だね。
そこのケーブルで首t(略
0782757NGNG
char hoge[3];
char piyo[5];
int i, t;
for( i=0; hoge[i] !=0x20; i++ )
memset(hoge, NULL, 3);
for( t=0; piyo[t] !=0x20; t++ )
memset(piyo, NULL, 5);

/*以下スペース入ってなかったら本ショリ*/

こんな感じでできますかね・・・?
0783デフォルトの名無しさんNGNG
>>782
hoge, piyoの中にスペースが入ってないと暴走するぞ
あと0x20とかせずに素直に文字リテラル' 'を使え
ちなみに' 'と" "は意味が違うんで教科書を良く読んどけよ

同じようにNULLと'\0'は意味が異なる、
あとhogeやpiyoの大きさを変えたときわざわざmemsetの第3引数を
変えるのは面倒だろ。文字列を'\0'で初期化したいならば、
> memset(hoge, NULL, 3);
> memset(piyo, NULL, 5);
memset(hoge, '\0', sizeof hoge);
memset(piyo, '\0', sizeof piyo);
とした方が良い。
0784デフォルトの名無しさんNGNG
>>778-780
「hoge の中身がスペースだったら」 をどうすれば 「hoge の中にスペースが
見つかったら」 に曲解できるんだ?
0785784NGNG
ごめん、782 のコメント見る限り strchr() でよさそうだ。
0786デフォルトの名無しさんNGNG
つまり>>757はC言語の前に日本語を(ry
0787デフォルトの名無しさんNGNG
>>784
> 「hoge の中身がスペースだったら」
了解、では意地でもループは使わずにやってやる
hoge[40];
cmp[40];
memset(cmp, ' ', sizeof cmp);
if(strcmp(hoge, cmp) == 0)
  printf("全てスペース\n");
else
  printf("スペース以外が入ってる\n");
で、こんなの作ってどうするんだ?
0788769NGNG
>>784
うん、最初はhogeが" \0"だったらとかhogeがスペースのみの集合だったらとか考えたよ。
でも>>768で?スペース入ってたら」となってるから
「hoge中に一つでもスペースが入ってたら」と解釈したんだが。
実際>>782見てもこれであってると思うけど。
0789757NGNG
>>783サソ
ご丁寧にアリガ�dゴザイマス

このままじゃ暴走いたしますか・・・
どうするか・・・?
コマータコマータ
漏れやぱりPGには向いてないなぁ。。。
0790デフォルトの名無しさんNGNG
んなこたぁーない
がんがれ
0791769NGNG
>>789
向き不向きはかなりの部分努力で補えるよ。
また困ったらここにおいで。
0792757NGNG
>>790-791サソ
アリガ�dゴザイマス

2chデハジメテ
カンドウシター!!
誰もいないオフィスで゙チョイナキソウニナッタ・・・

またきます!
0793デフォルトの名無しさんNGNG
いや、ちょっと待った。
757 は hoge の中にスペースが見つかったら何をしたかったんだ?
782 ははっきり言って目的不明な処理だぞ。
0794デフォルトの名無しさんNGNG
hoge でなく moe はどうか?
0795デフォルトの名無しさんNGNG
>>794
何が言いたいのか説明してくれないか?
0796デフォルトの名無しさんNGNG
>>795
ノリで言ってみただけ。
0797デフォルトの名無しさんNGNG
>>1-1000
All green!
0798デフォルトの名無しさんNGNG
カコイイ
0799デフォルトの名無しさんNGNG
moe はいいが nae はいかがなものか。
0800デフォルトの名無しさんNGNG
お前らいつか死ぬぞ。
0801デフォルトの名無しさんNGNG
知ってます。
0802デフォルトの名無しさんNGNG
そりゃまあ。
0803デフォルトの名無しさんNGNG
苦しゅうない、朕は不滅じゃ。
0804201NGNG
int value = 任意;
if (0 <= value) {
 value = 0;
}
これ、ifを使わないで計算だけでかけますか?
0805デフォルトの名無しさんNGNG
>>804
value = (0 <= value)?value:0;

俺って天才!
0806デフォルトの名無しさんNGNG
>>805
逝ってよし
0807デフォルトの名無しさんNGNG
//面倒くさいからintは32bitと仮定
int val;
{
unsigned int i = val & 0x80000000;
i = i | (i >> 1) | (i >> 2 ) | (i >> 3 ) | ...略.. | (i>>31) ;
return val & i;
}
0808デフォルトの名無しさんNGNG
>807
じゅうぶん面倒だろそれ。
value * ((value >> 31) & 1);
0809デフォルトの名無しさんNGNG
>>805
逆じゃん

>>807
実装依存

0<=value && value=0 ;
0810デフォルトの名無しさんNGNG
>>804
value = value * (value < 0);

でも、素直に参考演算子か if 文使って書いた方がいいよ。
0811804NGNG
説明不足でした。
可読性、速度、汎用性などを考慮したコードでは?

1000万回連続実行した場合の合計時間(debug build)。
>>804 31(ms)
>>805 94(ms)
>>807 313(ms)
0812804NGNG
沢山の回答ありがちょう。
全てにおいて >>804 のコードが勝っていると認定されますた。
漏れって天才!
0813デフォルトの名無しさんNGNG
なるほど、こういう釣り方もあるのか。。_φ(..;)メモメモ
0814デフォルトの名無しさんNGNG
釣りとか嫌
0815デフォルトの名無しさんNGNG
>>813
(゚Д゚)ハァ?
0816デフォルトの名無しさんNGNG
構造体について疑問。

struct DATA {
 int a;
}

とした後、

struct DATA d1,d2,d3;

とした場合と、

DATA d1,d2,d3;

のようにstructを省略した場合とでは、どんな違いが出るんでしょうか?
0817デフォルトの名無しさんNGNG
>>812
よかったね。

もうくるなよ。
0818デフォルトの名無しさんNGNG
>>816
C++ スレに逝け。
0819デフォルトの名無しさんNGNG
>>812
君の言う天才は他人からみれば馬鹿以下なんだよ
0820デフォルトの名無しさんNGNG
>>816
前者は問題なくコンパイルできるが、後者はエラーになる。
0821デフォルトの名無しさんNGNG
>>820
VC++6.0だとエラーにはなりませんが…
0822デフォルトの名無しさんNGNG
>>821
ここはC言語スレですが何か。

$ cat a.c
struct DATA {
    int a;
};
DATA d1, d2, d3;
$ cl -c a.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

a.c
a.c(4) : error C2061: 構文エラー : 識別子 'd1' がシンタックスエラーを起こしました。
a.c(4) : error C2059: 構文エラー : ';'
a.c(4) : error C2059: 構文エラー : ','
$ mv a.c a.cpp
$ cl -c a.cpp
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

a.cpp
0823812NGNG
>>817 >>819
誰もが書くであろう基本的なコードが1番早かった。ちゃんちゃん。
って落ちなんだよ。反抗期さんわかった?

>>816
CとC++の違いだな。
0824デフォルトの名無しさんNGNG
>>823
ほう、それはよかったな。

満足したら、もうくるなよ。
0825デフォルトの名無しさんNGNG
>>823
氏ねよ。マジで。
お前みたいな社会の屑は迷惑だ。
0826デフォルトの名無しさんNGNG
何が天才なんだか。
else 無しの if が一番速いのは実行しなくてもわかるだろうに。
0827デフォルトの名無しさんNGNG
つーかこうせんかな。
if (value < 0) value = 0;
0828デフォルトの名無しさんNGNG
はっ!?
0829デフォルトの名無しさんNGNG
ひっ!?
0830デフォルトの名無しさんNGNG
(゚Д゚)ハァ?
0831デフォルトの名無しさんNGNG
( ´_ゝ`)プッ!
0832デフォルトの名無しさんNGNG
( ゚Д゚)�h?
0833デフォルトの名無しさんNGNG
ふーん( ´_ゝ`) <=> (´<_ ` )そっか
083445NGNG
(゚Д゚)ィェーッ
0835デフォルトの名無しさんNGNG
Σ(゚д゚lll)ガーン
0836デフォルトの名無しさんNGNG
('_`)ソウカ・・・
0837デフォルトの名無しさんNGNG
・・・
0838デフォルトの名無しさんNGNG
クソすれ
0839デフォルトの名無しさんNGNG
>>827
つっこんでいいもんやら...。
0840デフォルトの名無しさんNGNG
>>839
迷うくらいなら突っ込め。
0841デフォルトの名無しさんNGNG
てか >>828-838 は全て >>827 へのツッコミだと思ふ、
0842デフォルトの名無しさんNGNG
>>823
なぁさ、最適化OFFにしたときはきっと結果は変わると思うんだがどうだろう?
そら、もっとも使用頻度の高いifがかりかりにチューンされているのは当たり前であって。

やっぱりお前は凡人だな。
0843デフォルトの名無しさんNGNG
つまらん。
0844デフォルトの名無しさんNGNG
> 使用頻度の高いifがかりかりにチューンされているの

(゚Д゚)ハァ?
そんな特別な事してねーよ。
単に if で書くと必要な演算量が減るだけだ。
0845デフォルトの名無しさんNGNG
つーか、827 は何がいけないんだ?
0846デフォルトの名無しさんNGNG
>>845=827ですか?( ´,_ゝ`)プッ
0847デフォルトの名無しさんNGNG
>>845
間を外したところ。
0848デフォルトの名無しさんNGNG
フルートが鳴りません。どうしたらいいですか?
0849デフォルトの名無しさんNGNG
>>845
ハァ ? >>805 を改良してどーする。
0850デフォルトの名無しさんNGNG
>>849
>>805じゃなくて>>804だろ。
0851デフォルトの名無しさんNGNG
いや、827 は value == 0 の時に代入が発生しないからより高速に動く事を
期待できるはずなんだが、みんな何をそんなに一生懸命叩いているんだ?

847 のような理由は置いといて。
0852デフォルトの名無しさんNGNG
間違ってるから。
0853デフォルトの名無しさんNGNG
ああ、比較の向きか。やっと気付いた。
0854デフォルトの名無しさんNGNG
>>850
なんか熱くなってない ?
冷静になって、>>804-805, >>827 のコード見た方がいいよ。
そうすれば、>>849 の言いたいことがわかるよ。
0855デフォルトの名無しさんNGNG
>>854
> なんか熱くなってない ?
いや全然。でも>853を見るまで気づかなかったよ。
0856デフォルトの名無しさんNGNG
848 に誰か答えてください
0857 ◆F52DmOxJlc NGNG
>>848
ちゃんと充電したか?
0858デフォルトの名無しさんNGNG
電気を使わないタイプのフルートのようです。
0859デフォルトの名無しさんNGNG
>>848
実はフルーツ
0860デフォルトの名無しさんNGNG
つまんねーー!!!
0861デフォルトの名無しさんNGNG
>>848
実はフノレート。
0862デフォルトの名無しさんNGNG
>>858
だったら不良品だから、交換してもらってください。
0863デフォルトの名無しさんNGNG
フルートですが、マジでドとレとミの音が出ません。
クラリネットではありません。
0864デフォルトの名無しさんNGNG
実はプルート
0865デフォルトの名無しさんNGNG
実はプルーン
0866デフォルトの名無しさんNGNG
実はぷるるん 
0867デフォルトの名無しさんNGNG
実はぬるぽ
0868 ◆F52DmOxJlc NGNG
>>863
思いっきりがんばればミは出るだろ。
0869デフォルトの名無しさんNGNG
>>863
ド・レ・ミ抜きで演奏!
0870デフォルトの名無しさんNGNG
>>863
マジレスするが、ド とか言うなよ。恥ずかしいぞ。
十二音全て、ド になることができるんだからさ。
0871デフォルトの名無しさんNGNG
じゃあ何て言うの?
0872デフォルトの名無しさんNGNG
ハ
0873デフォルトの名無しさんNGNG
ラだよ馬鹿
0874デフォルトの名無しさんNGNG
わかった!!
C だ!!
0875デフォルトの名無しさんNGNG
>>874
じゃあシはなんて言うのさ?
0876デフォルトの名無しさんNGNG
>>874
ピン・ポ〜〜〜ン。
もちろん「シー」なんて言っちゃ駄目だよ。
0877デフォルトの名無しさんNGNG
>>876
>>872 も正解にしてあげて下さい。
0878デフォルトの名無しさんNGNG
西洋では CDEFGAB ...
日本では ハニホヘトイロ ...
0879 ◆F52DmOxJlc NGNG
>>878
CDEFGAH の方が好き。
0880デフォルトの名無しさんNGNG
ドボルザークが
0881デフォルトの名無しさんNGNG
>>870
マジレスするが、そんなことは初めて聞いた。
0882デフォルトの名無しさんNGNG
>>881
相対的な話だろ。それが調にもつながるという。
だとするとAの周波数が厳密に決められてるのはおかしいわけだがw
0883 ◆F52DmOxJlc NGNG
>>881
それぞれの調の主音をドと読むんだよ。
ニ長調ならレをドと読み替える。
楽典読んでごらん。
0884デフォルトの名無しさんNGNG
>>881
音楽のことを知らないくせに偉そうなこというな。
黙ってろヴォケが。
0885デフォルトの名無しさんNGNG
同志である>>883と>>884のレベルの差がおもしろい。

0886デフォルトの名無しさんNGNG
>>882
A の周波数ってどっかで決まってんの ?
普通は、440Hz〜445Hz ぐらいの幅持ってたと思うが。
0887デフォルトの名無しさんNGNG
つーか、これ何のスレだ?
0888デフォルトの名無しさんNGNG
ツェー
0889デフォルトの名無しさんNGNG
>>886
ここで調律論をやる気か?
440Hzと覚えておけば充分。
0890デフォルトの名無しさんNGNG
<
<             >858-889ハァァァ???
<
  ∨∨∨∨∨∨∨∨∨∨∨\  /∨∨∨∨∨∨∨∨∨∨
          /:|.       | |     /:|
        /  .:::|       ∨    /  :::|
        |  ...:::::|           /   ::::|
       i       ̄ ̄⌒゙゙^――/    ::::::::|
      /_,,___       . _,,,,__,_     :::::::::::\
      /   ゙^\ヽ..  , /゙   ¨\,.-z   ::::::::::\
      「 ●    | 》  l|  ●    ゙》 ミ..   .::::::\
     /i,.      .,ノ .l|  《       ..|´_ilト    ::::::::::\
    / \___,,,,,_/ .'″  ^=u,,,,_ v/..       :::::::::::::l!
    |            ̄ ,,、         i し./::::::::.}
   |  /  ,,____ _,/ ̄ \ \      ノ (  ::::::::::|
    |  |.. | /└└└└\../\  \    '~ヽ ::::::::::::::}
    |   .∨.|llllllllllllllllllllllllllllll|          ::::::::::{
    |    |.|llllllllllll;/⌒/⌒  〕         :::::::::::}
     |   |.|lllllllll;   ./ .   . |          ::::::::::[
     .|   |.|llllll|′  /    . |    .|      :::::::::::|
     .|   |.|llll|    |     .∧〔   /    :::::::::::::/
    / }.∧lll    |    ../ /  /   :::::::::::::::::\
   /   /| \┌┌┌┌┌/./ /:::      :::::::::::::::::\
      ( ゙゙^^¨^¨゙゙¨  ̄ ̄ ̄ /:::::::::::         ::::::::::\

0891デフォルトの名無しさんNGNG
>>889
何言ってんのこの人 ?
俺は、A の周波数が (* 厳密に *) 決められているかどうかか知りたいだけだよ。
0892デフォルトの名無しさんNGNG
>>891
それをしってどうなる?
人間の耳は5Hzの違いなんて聞き分けられないぞ。
プログラム的には450でじゅうぶんじゃねーの。
それ以上のことを言うヤシは町立論(略
0893デフォルトの名無しさんNGNG
>>892
2行目に単位書いて3行目にそれがないのって不思議。
0894デフォルトの名無しさんNGNG
>>893
int に単位は不要だから。
0895デフォルトの名無しさんNGNG
ラの音は周波数が上がってきているんだよ。
昔は400Hzくらいだった。
0896デフォルトの名無しさんNGNG
でも地球の自転速度は徐々に遅くなってきてるぜ。
0897デフォルトの名無しさんNGNG
>>896
だからどうしたよ。ワラタけど。
0898デフォルトの名無しさんNGNG
>>892
> それをしってどうなる?

単なる興味だよ。ウィーン音楽協会みたいなとこが決めてんのかなぁって思っただけ。

> 人間の耳は5Hzの違いなんて聞き分けられないぞ。

フシ耳ですか ? 440Hz に対して、5Hz と言うと半音の約 1/5 だよ。
素人でも、なんとなく分かるぐらいのところだよ。
絶対音感持ってる奴なら、確実にわかるぞ。
0899デフォルトの名無しさんNGNG
ちょ球の自転速度が遅くなるはずはありません。
なぜなら地球は宇宙エネルギーをもらって動いているので
永久不変なのです。
もし自転速度が遅くなる時は宇宙がビッグバンになる時くらいです。
0900デフォルトの名無しさんNGNG
>>899
>>896のが正しい。
0901デフォルトの名無しさんNGNG
>>898
何cent?20cent位なら聞き分けられるYO!
0902デフォルトの名無しさんNGNG
秒の定義はもう変わったよ。
0903デフォルトの名無しさんNGNG
1分の1/60が1秒です。
0904デフォルトの名無しさんNGNG
>>903
じゃあ1分の定義は?
0905デフォルトの名無しさんNGNG
1時間の1/60が1分です。
0906デフォルトの名無しさんNGNG
嵐どもはさっさと氏ね
0907デフォルトの名無しさんNGNG
>>905
じゃあ1時間の定義は?

1日の1/24が1時間です。


じゃあ1日の定義は?
0908デフォルトの名無しさんNGNG
>>907
詰めが甘いな。1年の365文の1だ
0909デフォルトの名無しさんNGNG
>>907
太陽が南中してから翌日再び南中するまでの時間。
0910デフォルトの名無しさんNGNG
>>901
おお、久しぶりに cent なんて単位を聞いたよ。
既に定義を忘れてたので、ググッたら 100cent = 半音 ということのようだ。

つーことは、440Hz と 445Hz の違いは...

(log(445/440) / log(2)) * 1200 = 19.562174794920598517900518817139

やね。>>898 にも書いたけど、普通の人ならなんとなくわかるぐらいだよ。
0911デフォルトの名無しさんNGNG
DETUNEでちゅーん
0912 ◆ZtXjKqCmiQ NGNG
C言語の話題は?
0913912NGNG
#include と打ったらトリップになっちまった(T_T)
0914 ◆g/ZMVdytmo NGNG
本物はボキです?
0915デフォルトの名無しさんNGNG
話を蒸し返すようで悪いんだけどさ
英語での
CDEFGAB
ドイツ語での
CDEFGAH
日本語での
ハニホヘトイロ
をイタリア語では
ドレミファソラシ
って発音するんだよ。
だから >>883 は真赤な嘘。
0916デフォルトの名無しさんNGNG
あとは音楽板のほうでどうぞ
0917デフォルトの名無しさんNGNG
Javaしか触ってなくて、Cのソースがイマイチ読めないんだけど、何とか上手に読む方法ない?
木生成のアルゴリズムなんだけどね。
0918デフォルトの名無しさんNGNG
>>915
もしそうだとしても、それが通用するのはイタリアだけじゃないのか?
普通は調によってドそのものが変わる・・・
これ以上は音楽板逝くべきだな
0919デフォルトの名無しさんNGNG
そろそろ、次スレなんだが・・・
>入門書レベルの質問はC言語質問所スレへ行け。
入れる?
ここはどうしても荒れてしまうから。なんか。
0920デフォルトの名無しさんNGNG
配列の最大数は決まってるのですか?
最大数を大きくしたい場合どうすればよいですか?
0921デフォルトの名無しさんNGNG
>>920
INT_MAXまで。
0922920NGNG
int型の最大値と同じって事ですか?
0923デフォルトの名無しさんNGNG
>>922
INT_MAXは、多分論理アドレスのMAX値ということが言いたいんだと思うが、
実際にはそこまで取れないと思う。
0924923NGNG
ごめん。論理アドレスのMAX値だったらUINT_MAXだ。
ただしintとポインタの大きさが同じ処理系に限る。
0925デフォルトの名無しさんNGNG
>>919
入れちゃダメ。諸悪の根源。
0926デフォルトの名無しさんNGNG
>>924
規格では、どの処理系でも最低限65535バイトのオブジェクトは作れることが
保証されている。それ以上大きいのは作れない処理系でも規格準拠といえる。

だから、「絶対安全」と保証されている配列のサイズは65535バイトまで。
0927デフォルトの名無しさんNGNG
>>919
偽スレは必要なし。いい加減ウザい。
092860cm浮き上がるストレートNGNG
440Hzがラ?下のプログラムを見てください。ファになるのですが。DOS/V、ANSI.SYSが必要と思われます。ポート入出力なので注意してください。
#include <stdio.h>
#include <conio.h>
#include <time.h>
int main(void)
{
 int Hz=440,int key=0,pM=1;clock_t t;
 printf("\x1b[12;5H+:+ -:- *:*2 /:/2 0:増減値増加 .:増減値減少 Enter:♪ p:End");
 printf("\x1b[14;37H増減値:%-5d\x1b[16;37HHz:%-5d",pM,Hz);
 for(;;)
 {
  key=getch();
  if(key=='+')Hz+=pM;if(key=='-')Hz-=pM;if(key=='*')Hz*=2;if(key=='/')Hz/=2;if(key=='0')pM++;if(key=='.')pM--;
  if(Hz<=-1)Hz=0;if(Hz>=32768)Hz=32767;if(pM<=-1)pM=0;if(pM>=32768)pM=32767;
  if(key=='\r')
  {
   _outp(0x43,0xb6);_outp(0x42,Hz%256);_outp(0x42,Hz/256);
   _outp(0x61,_inp(0x61)|0x03);
   for(t=clock();t+500>=clock(););
   _outp(0x61,_inp(0x61)&0xFC);
  }
  printf("\x1b[14;44H%-5d",pM);printf("\x1b[16;40H%-5d",Hz);if(key=='p')break;
 }
 return 0;
}
0929デフォルトの名無しさんNGNG
素数のプログラムを作らないと単位が取れないです。
誰か作り方を教えてください。
0930デフォルトの名無しさんNGNG
>>929
素数スレがあるぽ
0931デフォルトの名無しさんNGNG
>>930
ありがとうございます
0932デフォルトの名無しさんNGNG
★http://yahooo.s2.x-beat.com/linkvp/linkvp.html★
0933デフォルトの名無しさんNGNG
>>929
素数をどうしたいんだ?
具体的なプログラムが欲しいなら宿題スレへ
http://pc3.2ch.net/test/read.cgi/tech/1036572120/l50
0934デフォルトの名無しさんNGNG
ここは C のスレだから A の話はいかんのだろうが、A = 465 Hz というべらぼう
なチューニングもあるらしいぞ。

それは置いといて、移調楽器の基音をドと呼ぶ事でずらすことはよくあるみたい
だけど、曲調によってドが変わるという話は聞いたことないぞ。
友人に、音大卒もプロで楽器やってる人もイパーイいるが、みんな例えばニ長調なら
レミファソラシドレと言っているし、そんな事は教わらなかったと言っている。
第一、ドレミファソラシドはイタリア読み、CDEFGABC は英語読み、CDEFGAHC は
ドイツ読み、ハニホヘトイロハは和読みというだけで、それ以上の違いはないだろう。
0935デフォルトの名無しさんNGNG
>>934
レミ 「ファ#」 ソラシ 「ド#」 レ
0936デフォルトの名無しさんNGNG
>>934
「固定ド」と「移動ド」くらい中学校で習うだろ。
な〜にが音大だYO!

悔しかったから一生懸命調べたんだろうが
もっぺん出直して来いや。他の板でナー。
ここには2度とくるな!
0937デフォルトの名無しさんNGNG
>>936
中学レベルの音楽知識で大口叩くとは真性キティだな。
音名と階名を混同してると思われ。
実際問題として音名の意味で「ド」とか「レ」とか言うことのほうが多いし、
「音合わせしたいからラの音出して」と言われて「調は何ですか」
なんて聞くやつはおらん。
0938デフォルトの名無しさんNGNG
音合わせするときにわざわざ○○の音出してなんて言うか?
0939デフォルトの名無しさんNGNG
>>937
ハイハイ、もう分ったから他の板逝って。

検索してみれば分るけど「固定ド」「移動ド」どちらを
使うかはコミュニティの流儀による。「あんたのまわりでは」
そういう決まりなのかもしれんが、他では違うかもしれん。
少なくとも中学高校の音楽では「移動ド」で教えているから
アマチュアの大部分にはそちらのほうが馴染みがある。

ハニホ…やCDE…ならそういう混乱の余地は無い。
0940デフォルトの名無しさんNGNG
>>937
「ハ長調」とか「C Major」とかは言うけど、「ド長調」とは言わない。
「ド」は移動する(ことがある)から。

君の理屈では「ド長調」「ラ短調」があるはずだが?
0941デフォルトの名無しさんNGNG
>>937
知ったか氏ね。
0942デフォルトの名無しさんNGNG
そういえば、「ハ長調のソがト長調ではドになる」というように
習ったな…「トがドになるのがト長調」と覚えた。
0943デフォルトの名無しさんNGNG
>>937は中学で音楽を落第しますた。
「ド長調」(ププ
0944デフォルトの名無しさんNGNG
階名という言葉を知っているのに意味を知らないとは変な奴だな >>937 って。
「ドレミ」は音階によって呼び名が変わる(移動する)から階名と言うんだけど。
0945デフォルトの名無しさんNGNG
音楽理論の教科書とかにはI II III IV〜とか数字で書いてあるけど、
そういうのは実生活で使わないのですか>薀蓄垂れしてる人
0946デフォルトの名無しさんNGNG
新たなミュージックシーンが誕生する予感。
   "ド長調" from ム板@2ch
0947デフォルトの名無しさんNGNG
>>945
コード教えてる本に載ってたなぁ。

Iをトニックにして後は相対的にって漢字の。
0948デフォルトの名無しさんNGNG
>>915 と >>934 は間抜けだが、>>937 はそう変な事は言ってないように見える。

>>945
それは和音の話では…?
0949デフォルトの名無しさんNGNG
動的に音階を生成
0950デフォルトの名無しさんNGNG
>>948
>中学レベルの音楽知識で大口叩くとは真性キティだな。

いらんこと書かなきゃ良かったのにな(藁
0951デフォルトの名無しさんNGNG
うんち君垂れている人
0952 ◆F52DmOxJlc NGNG
まだ音楽話やってたのか…。
話の腰折って悪いけどちょっと教えて。

任意の文字列 char str[] 中に %02d のような型指定子があるかないか調べたくて

char s1[], s2[];
sprintf(s1, str, 1);
sprintf(s2, str, 2);
if (strcmp(s1, s2) == 0) {
 /* 型指定子なし */
} else {
 /* 型指定子あり */
}

ってやったんだけどこれって問題ある?
str[] によっては sprintf() で 1 や 2 が変換されないじゃない。
行き場のない引数を与えていいものか気になるんだけど。
0953デフォルトの名無しさんNGNG
>>952
str = "%2d%s%s%s%s%s%s%s";
で試してみ。
0954 ◆F52DmOxJlc NGNG
>>953
納得。多謝。
0955デフォルトの名無しさんNGNG
普通はト長調について言う。
0956デフォルトの名無しさんNGNG
>>934=>>937
0957デフォルトの名無しさんNGNG
http://pc3.2ch.net/test/read.cgi/tech/1039328710/
新スレ
0958デフォルトの名無しさんNGNG
>>957
それは偽スレ。↓こっちが本物。

C言語のことは俺に聞け<46>
http://pc3.2ch.net/test/read.cgi/tech/1038324550/l50
0959デフォルトの名無しさんNGNG
>>958
45って書いてあるけど・・・
0960デフォルトの名無しさんNGNG
>>959
ごめん。46の間違い。
0961デフォルトの名無しさんNGNG
>>958
いい加減にしろクソヤロウ。
もうこれ以上荒らすな。
0962デフォルトの名無しさんNGNG
>>937
> 「音合わせしたいからラの音出して」と言われて「調は何ですか」
> なんて聞くやつはおらん。

お前、楽器のこと知らんだろ。ラの音出してなんて言うわけないじゃん。
指揮者が間違えてそんなこと言ったら、金管楽器、サックスとビオラ奏者に「ざけんなよ」と言われてもしょうがないぞ。
(他の楽器もあるかも知れんがなにぶんにも記憶が曖昧だ。)
これらの楽器は、>>934 が移調楽器と書いてある通り、普通に言う「ラ」の音が既に移調されている。
だから、オーケストラの楽譜等では楽器に合わせて移調して書いてある。
確かフルートがハ長調で書いてあったら、トランペットはニ長調で書いてあるはず。
(中には、C 管なんて言うトランペットもあるけどね。)

普通の楽団なら、「音合わせしまーす。」とか言うだけで、みんな A の音を出すよ。
(つーか、みんなの準備が揃った頃に第一オーボエ奏者が「ポェ〜〜〜」と吹き始めて、それに合わせるんだと思う。)
0963デフォルトの名無しさんNGNG
>>962
ブラバン限定の話などしていませんが。
0964デフォルトの名無しさんNGNG
C言語って音楽に関係する言語だったんですね。
0965デフォルトの名無しさんNGNG
>>962
いや、もう 915=934=937 がタダのクズヤロウであるという
結論は既に出ているわけで…
0966デフォルトの名無しさんNGNG
>>937には
http://instruments.hp.infoseek.co.jp/ongaku/on-kai.html
このへんのやさし〜いあたりから勉強しなおしてもらうということで。
0967デフォルトの名無しさんNGNG
C言語スレは軒並み壊滅だな。
0968デフォルトの名無しさんNGNG
「質問所」スレを立てた1は、
思い通りに荒らせてさぞ満足してるだろうな…
0969デフォルトの名無しさんNGNG
http://pc3.2ch.net/test/read.cgi/tech/1039328710/
本物の新スレ
0970デフォルトの名無しさんNGNG
もう埋めてしまいませんか?
誘導書き込み荒らしがうざいので。
協力者求む


969ゲット!
0971デフォルトの名無しさんNGNG
がーん。
970 ニナッテシマッタ・・・
0972デフォルトの名無しさんNGNG
http://pc3.2ch.net/test/read.cgi/tech/1039328710/
本物の新スレ
0973デフォルトの名無しさんNGNG
>>972
いい加減にしろクソヤロウ。
もうこれ以上荒らすな。
0974デフォルトの名無しさんNGNG
埋め埋め
0975デフォルトの名無しさんNGNG
0976デフォルトの名無しさんNGNG
0977デフォルトの名無しさんNGNG
977ゲトズザー
0978デフォルトの名無しさんNGNG
  ,〜'~`〜'~`〜'~`〜'~` 、  。 ∧_∧。゚
 (  ひぃえぇぇぇぇぇ   )  ゚( ゚´Д`゚)っ゚
  (  誰か助けてぇ〜!!! >  (つ■  /
  `、_,〜、_,〜 、_,〜 、_,〜'     |  (⌒)
                   し⌒^
                     '''''
0979デフォルトの名無しさんNGNG
\モウ/    \ね/  \ アボカド /  \ 馬 /  \ 鹿 /  \ カト /
                                    ∩   ∩
                                    | つ  ⊂|
    ∩;;;∩                      ∧ノ~       ! ,'っ _c,!
  (Y;;;;;;;;;;ヽノ)               ヽ      ミ| ・  \    ⊂/  ・  \
   i;;;;;;;;;;゚;;;゚ヽ           γ⌒^ヽ    ミ|   ... '_)   | __,,▼    ∫
��/;;;;;;\;;;;'⌒)          /::::::::::::::ヽ   ミ| (,,゚Д゚)    |・ (,,゚Д゚)   (,,゚Д゚)
 )|;;;;;;;;(,,゚Д゚)    (⌒)(⌒)  /.:::::::::(,,゚Д゚)    | (ノ  |)     | (ノ  |)  ⊂三つ: つ ババンバ
ι|;;;;;;;つ ;;;/つ   ( ・Å・)  i::::::(ノDole|)   |  馬 |      |・・ .鹿 |      ||||||||   バン
  ヽ..;;;;;;;;/  γ⌒ ( ゚Д゚))  ゙、:::::::::::::ノ    人.._,,,,ノ     ι・,,__,ノ     |  |     バン
    U"U  乂_) UU     U"U       U"U       U"U      U"U
0980デフォルトの名無しさんNGNG
 何このスレ・・・・・?
             /ヽ       /ヽ
            / ヽ      / ヽ
  ______ /U ヽ___/  ヽ
  | ____ /   U    :::::::::::U:\
  | |       // ___   \  ::::::::::::::|
  | |       |  |   |     U :::::::::::::|
  | |      .|U |   |      ::::::U::::|
  | |       | ├―-┤ U.....:::::::::::::::::::/  
  | |____ ヽ     .....:::::::::::::::::::::::< 
  └___/ ̄ ̄      :::::::::::::::::::::::::|
  |\    |           :::::::::::::::::::::::|
  \ \  \___      ::::::::::::::::::::::::|
0981デフォルトの名無しさんNGNG
誘導:

次スレ 「C言語のことは<46>」http://pc3.2ch.net/test/read.cgi/tech/1039328710/
0982デフォルトの名無しさんNGNG
なんかここ二三日で激しく荒れてるな。
0983デフォルトの名無しさんNGNG
誘導:

次スレ 「C言語のことは<46>」http://pc3.2ch.net/test/read.cgi/tech/1039328710/
0984デフォルトの名無しさんNGNG
       へ ヘ        へ ヘ        へ ヘ
      \| /       \| /       \| /
      ';: ":;.       ';: ":;.       ';: ":;.
  ∧∧⊂.;'、 :つ  ∧∧⊂.;'、 :つ  ∧∧⊂.;'、 :つ
 ;'゚Д゚、":、.: :;:'   ;'゚Д゚、":、.: :;:'   ;'゚Д゚、":、.: :;:'
 '、;: ...: ,:. :.、.: '    '、;: ...: ,:. :.、.: '   '、;: ...: ,:. :.、.: '
  `"∪∪''`゙    `"∪∪''`゙    `"∪∪''`゙
0985デフォルトの名無しさんNGNG
                ._
                |:::::|
                |:::::|
     ∧_∧.  ∧_∧|:::::|
      ( ´∀`∩(・∀・ )___|
 | ̄ ヽ ( つ   ノ ( ⌒つ| ..|  /  ̄.|
 |      ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄    .|
 |_______________.|
 |::::::::__   __  __ __ __:::::::::|
 |::::::`.! !´ ./△ ! `l D )`l l//´::::::::|
 |:::::::::| |_// ̄!.!__| |\ヽ,,| !\\_ :::::::|
 |::::::::´――'  '――` ´―― ´―` :::::!
 |_;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;_|
 |  SPECIAL. MILD. TOBACCOS.  |   (
 |――――――――――――――‐|    )  ノノ
 |       ______         |  ((   )             (
 |       ヽ     /          |    ) ノ                )    (
 |        | .∧ ∧ |          |   ( _⌒)              ( (    )
 |        | (゚д゚,,) |          |     )ノ               ヽヽ  ノ
 |        |       .|          |     ( (                 ) ))
 |        . ̄ ~~  ̄           | ∧ ∧ )ノ ウマー            (,, (
 |        MILDS           | (,,゚д゚)O_____________)ノ
 |     CHARCOAL FILTER.     | ( ⊃(;;;;;;;;;;;;;;;;;;;;;;;(           ((;;)
 |____________________|〜(,,⌒⊃⊃ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                           ̄
0986デフォルトの名無しさんNGNG
                    \
                      \
                       \
                         \            /|   。.
                       ,,-'―\       _,/ノ   . .
        ___,,-―――='' ̄ ̄    _,,-'―=''' ̄_,/|  o    *
_,,-―=''' ̄      ___,,-―――='' ̄ __,-―='' ̄   / .   . .
   _,,-―=''' ̄        _,,-―='' ̄ ヽ       /  +
 ̄ ̄        _,,-―=''' ̄          \    /  . . .  .
      ,,-='' ̄                   ヽ  /    .  。. ★  ☆
    ,,,-''                          ヽ/     。.    .
-―'' ̄       /\     ___,  /\   |   . ☆  +
.   |        ..::::::::::::...       |     /    ..:::::::... | + .   . .
   |                    |     /        |    . .   ☆
  ヽ    γ´~⌒ヽ.        |   /          /☆ . *  +.  . 
――ヽ   /      ヽ      |  /         /⌒ヽ、.  .  . .
    \/       |       |_/          /    ヽ +★
      /         |              /     ノ *  ☆
0987デフォルトの名無しさんNGNG
埋め立て
0988デフォルトの名無しさんNGNG
♪きのこっのっこーのこげんきのこっエリンーギマイタケブナ(゚д゚)シメジ!

    /⌒ヽ      γ´⌒`ヽ
   /  ●  ヽ    ./Oo〇oOヽ     ,-''"¨ ̄¨`'‐、
  (●/⌒ヽ●)   (Oγ⌒ヽOo)   (,,(,,i,,,i,,,,,,,,i,,,,i,,),)
   ヽ|´∀` |ノ ))  ヾ(゚Д゚ )゚ノ ))    )  (    ))
    .ゝ___ノ       ゝ_ノ.       (゚ー゚* )

0989デフォルトの名無しさんNGNG
>>988
腹減ったじゃねーか(゚Д゚)ゴルァ
0990デフォルトの名無しさんNGNG
>>986
梨華たん(*´Д`)ポワワ
0991デフォルトの名無しさんNGNG
埋め立て
0992デフォルトの名無しさんNGNG
>>988
どうも左と真中が毒キノコに見えるわけだが・・
0993デフォルトの名無しさんNGNG
>>962
オーケストラの音合わせは指揮者の口笛を基準にするんだよ。
ウソだけど。
0994デフォルトの名無しさんNGNG
1000間近なのに静かだなぁ。
1000は誰かに譲るよ。
お前ら、今までに何回1000取った事ある?
俺は2回
0995デフォルトの名無しさんNGNG
俺1回。
っていうか前から疑問なんだけど1000取ると何が嬉しいの?
俺は別に嬉しくなかった。普通に会話しながら1000逝っちゃったし。
0996デフォルトの名無しさんNGNG
1000
0997デフォルトの名無しさんNGNG
1000
0998デフォルトの名無しさんNGNG
1000
0999デフォルトの名無しさんNGNG
1000
1000デフォルトの名無しさんNGNG
偽スレに騙されないように。↓こっちが本物の次スレ。
スレタイちょっとミスった。ごめんね。

C言語のことは俺に聞け<46>
http://pc3.2ch.net/test/read.cgi/tech/1038324550/l50
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。