C言語なら俺に聞け(入門篇) Part 20at TECH
C言語なら俺に聞け(入門篇) Part 20 - 暇つぶし2ch981:980
07/11/06 01:35:49
訂正
while(1 >= num || num >=100);
       ↓
while(1 > num || num >100);

982:デフォルトの名無しさん
07/11/06 01:58:33
scanfっつてんだから、scanfを使うべきなんじゃなくて?

俺ならこう書くぞ
} while (!(1 <= num && num <= 100));

983:デフォルトの名無しさん
07/11/06 02:02:57
論理演算が苦手そうに見えてもいいならそれでいいんじゃね?

984:デフォルトの名無しさん
07/11/06 02:30:32
すいません。
!についての質問なんですが、

if ( !(fp = fopen("a.c","r")) )

もしこれでfpがNULLでない場合(どこかのメモリアドレスつまり正の整数値)、
if文が偽(つまりNULLつまり0)となると思うのですが、
何故、!(正の整数値)がNULLつまり0になるのですか??ANSIのそういう仕様ですか?


if ( !5 )は偽でNULLつまり0??

(ちなみに、現在ほとんどのstdio.hで #define NULL 0 となっている)

985:デフォルトの名無しさん
07/11/06 02:33:54
!5といえば 1も2も3も・・・負数でさえ含まれますよね。0ももちろん含まれますが

986:デフォルトの名無しさん
07/11/06 02:47:08
#include <stdio.h>

int main(void)
{
FILE *fp;
if ( fp = (FILE*)(NULL == NULL))
;
printf("fp = %p\n", fp);
printf("(int)fp = %d\n", (int)fp);
printf("!5 = %p\n", !5);
return 0;
}




結果
fp = 0x1
(int)fp = 1
!5 = 0x0

987:デフォルトの名無しさん
07/11/06 02:58:34
NULL == NULLは真だから1が返るな

988:デフォルトの名無しさん
07/11/06 05:52:39
>>985
!5は「5以外」じゃないよ。
5を真偽値として評価して真、その否定で結果偽。そんだけ。

989:デフォルトの名無しさん
07/11/06 09:23:16
5以外は !=5 だわな。

990:デフォルトの名無しさん
07/11/06 22:06:26
レビューってどうやってやってる・・・?
なんか自分で書いたソースなのに、うまく説明できなくて凹みまくってる・・・。
頭の中じゃどんな風に動くのかわかってるんだけど、説明となると10あるうち2しか伝える事ができない・・・

991:デフォルトの名無しさん
07/11/06 22:41:32
君が超天才ならしょうがないけど、
凡人なら説明できない程度の理解としか周囲には写らないだろうよ。

誰にでも納得できる説明をする必要があるの?
仕事でレビュア対象に説明するだけなら、レビュアに疑問点・不明点を上げてもらって
それに回答することで納得して貰うのじゃダメ?

レビューの経験を積めば、レビュアの傾向が見えて対策も打てるけど、
例え経験不足だとしてもレビューの前に事前にレビュアと調整しておくって手もある。
凹む前にもっと考えて行動すべきだと思うけどね。

992:979
07/11/06 22:43:34
>>980 >>981 >>982
色んなサンプルソース読んでみても
scanfはあまり使われてないみたいなので
gets,fgetsに変更してみようとおもいます。

なぜなのかは、ぐーぐるさんに聞いてきます
ありがとうございました

993:デフォルトの名無しさん
07/11/06 22:55:21
>>991
あ、えーと、
現状まだまだ勉強の段階なんですが、
int main(void) じゃあそのvoidってナニ?なんでここにintとかおいてるの?っていう
いわば基礎中の基礎の部分なので、プログラムに一切関係のない人でも理解できるように発言して欲しい=学べる
ということなのでやってるんですが、経験をとにかく詰むしかないんですかね・・・うーん。

994:デフォルトの名無しさん
07/11/06 23:20:34
自分で書いたソースを客観的に見ることができないなら、他人に見て貰うといい。
相談できる人が身近にいればその人に協力して貰うのがいい。
相談できる人がいない、探す気もないならここにソース晒してコメントを貰うのでもいいんじゃね?

995:デフォルトの名無しさん
07/11/06 23:50:36
少しお尋ねしたいのですが、
struct _TEST a
{
int num;
char ch;
}test[100] = {0};

こうした場合、test配列の中身が全て0クリアされる動作は保証されていますか?
testが配列でない場合は動作が保証されているとどこかで伺った気はしたのですが

996:デフォルトの名無しさん
07/11/07 00:10:58
保証されている。ついでに言えばtest[100] = { 1 };として場合であっても
1が入るのはtest[0].numだけであって、残りは全て0になる。

997:デフォルトの名無しさん
07/11/07 01:06:24
>>996
ありがとうございます!

998:デフォルトの名無しさん
07/11/07 04:38:52
URLリンク(www.geocities.jp)

こちらのプログラムをVS2005でそのまま実行しても'fopen'の宣言を確認してくださいと出ます。
同HP (URLリンク(www.geocities.jp)) にあるc1.wavやらを読み込ませて実行したいのです。
fopenで配列を読んでいるのですが、ここにどうやってc1.wavなどを読み込ませればいいのでしょうか?

999:デフォルトの名無しさん
07/11/07 05:12:45
調べてたらコマンドラインで実行すらしらなかったのでなんとかなるかもしれないので失礼します。すみません。

1000:デフォルトの名無しさん
07/11/07 05:29:05
1000げっつ

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch