- 1 名前:デフォルトの名無しさん [2006/05/04(木) 08:53:09 ]
- 入門者向けの俺に聞けスレです。
なんでもきいてよね
- 950 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 00:36:41 ]
- >>944
先頭指してなかったら、キャストもせずに、->演算子使えるわけないじゃん。
- 951 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 00:51:03 ]
- >>950
アホ?
- 952 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 01:02:50 ]
- p->otherはstruct letter* だから>>941を間違いってのはアレだよな
- 953 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 07:50:03 ]
- for(;;)とwhile(1)はどっちがはやいんですかね?
- 954 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 08:03:07 ]
- >>953
大丈夫、お前よりもよっぽど賢いコンパイラにとって、それらはどちらも同じと解釈されるから気にするな。 #まぁ、前者を推奨するがな。
- 955 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 09:10:13 ]
- 大昔の頭の悪いコンパイラだと for(;;) の方が早いとか聞いた気もするが、
今のコンパイラならどっちでもいいな。
- 956 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 09:12:34 ]
- (;;)
- 957 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 09:52:47 ]
- (;o;)
- 958 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 10:03:37 ]
- (;A;)
- 959 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 10:14:25 ]
- ('A')
- 960 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 10:46:03 ]
- ("ω")
- 961 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 11:29:39 ]
- ( ; _ ; )
- 962 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 16:27:56 ]
- (T-T)
- 963 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 17:36:00 ]
- (:-D)
- 964 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 17:42:05 ]
- :-D~~
- 965 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 22:24:10 ]
- >>863
void SASSERT_(int(*p)[1]) { } #define SASSERT(b) SASSERT_((int(*)[(b) ? 1 : -1])0) は、単に #define SASSERT(b) ((void)(int(*)[(b) ? 1 : -1])0) でいいことに今頃気づいた。
- 966 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 00:37:15 ]
- K&R本の1.5.2 文字のカウント
のプログラムをちゃんと打って、シグウィンでコンパイルしても 実行したら全くカウントしてくれないのですが、 どうしてでしょうか?誰か教えて下さい。
- 967 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 02:24:54 ]
- >>966
そのプログラムを貼れ。
- 968 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 07:27:35 ]
- #include <stdio.h>
/* 入力される文字をカウント;第1版 */ main() { long nc; nc = 0; while (getchar() != EOF) ++nc; printf("%ld\n", nc); }
- 969 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 08:29:16 ]
- 入力を終了しないからいつまで経っても表示されないだけに一票。
- 970 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 09:21:38 ]
- でもこっちはちゃんとできるんですよ。
#include <stdio.h> /* 入力された文字を複写;第2版 */ main() { int c; while((c = getchar()) != EOF) putchar(c); }
- 971 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 10:54:10 ]
- いやだから・・・。
- 972 名前:デフォルトの名無しさん [2006/07/21(金) 11:50:37 ]
- ST.c: 関数 `function2' 内:
FLIST.c:75: 警告: 引数 2 個の `strcat' を渡しますにより、キャストなしで整数からポインタを作りました :wq! 上記の警告がでました。問題の75行目 strcatは以下です。 strcat(strLine,ctime( &buf.st_mtime ));/*警告箇所*/ st_mtimeはファイル情報を取得する処理【stat関数】のメンバでbufの変数定義は struct stat buf;、strLine変数はchar strLine[255];としております。 警告を回避するキャストの方法を教えてください。環境はLinux redhatです。
- 973 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 12:24:15 ]
- >>972
#include <time.h> してないってことはない?
- 974 名前:デフォルトの名無しさん [2006/07/21(金) 12:40:43 ]
- レスありがとうございました。インクルード記述はあります。
プラットホームをUnixからlinuxに移した際に リコンパイルで警告がでました。
- 975 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 13:04:56 ]
- >>974
その周辺ロジックだけのプログラム作っても再現する? こちらでは問題ないのだが。 以下、テストコード。 -- #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/stat.h> int main(int argc, char ** argv) { char strLine[255]; sprintf(strLine, "%s:", argv[1]); struct stat buf; stat(argv[1], & buf); strcat(strLine,ctime(&buf.st_mtime)); puts(strLine); return 0; }
- 976 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 13:32:38 ]
- >>968
それは何か入力後に EOF を渡す必要がある。 これは Cygwin だとどうなっているのか分からないが、 UNIX 系 OS だとデフォルトでは Ctrl+D でできるのが 普通だ。Windows のコマンドプロンプトや MS-DOS プロンプトでは Ctrl+Z だ。どちらかを入力してみれば できるんじゃないだろうか。
- 977 名前:968 mailto:sage [2006/07/21(金) 15:13:46 ]
- >>976
ありがとうございます。Ctrl+Zで出来ました。
- 978 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 15:18:18 ]
- 結局>969じゃん。
- 979 名前:968 mailto:sage [2006/07/21(金) 16:38:45 ]
- 間違えました。Ctrl+Dでした。
>>978 入力を終了しなくても出来そうだな、とか 馬鹿な考えを起こしていたもので...m(_ _)m
- 980 名前:デフォルトの名無しさん mailto:sage [2006/07/22(土) 14:43:42 ]
- > 賢いコンパイラにとって、それらはどちらも同じと解釈されるから
while(1) だと警告がでる for(;;) だとでない
- 981 名前:デフォルトの名無しさん [2006/07/23(日) 12:03:52 ]
- プロトタイプ宣言のない関数’printf'の呼び出し(関数main)
という警告文が出るけどなに?
- 982 名前:デフォルトの名無しさん [2006/07/23(日) 12:07:13 ]
- >>981
#include <stdio.h>がないとか printfがpirntfになってたりとかじゃないかな?
- 983 名前:981 [2006/07/23(日) 12:10:28 ]
- >>982
その辺は確認しているのだけど そのへんが問題なのかな?
- 984 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 12:33:16 ]
- こういう場合、ソースを貼り付けたら一発で分かったりすることも多い。
- 985 名前:981 [2006/07/23(日) 12:46:51 ]
- #include <sudio.h>
int main( ) { int n=500+ 150; printf("%d", n); return 0; } こんな感じなんだけど諸兄の 意見はいかがですかね?
- 986 名前:デフォルトの名無しさん [2006/07/23(日) 12:48:02 ]
- int a;
char s[3] = "FF" ↓ a == 255 みたいなイメージで、文字データとして16進の形でcharの配列に入ってるものをint形の変数に代入する方法ってない?
- 987 名前:デフォルトの名無しさん [2006/07/23(日) 12:48:41 ]
- 1はツンデレ
- 988 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 12:52:46 ]
- >>985
1行目で既に破綻が
- 989 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 12:59:38 ]
- >>986
strtol
- 990 名前:981 [2006/07/23(日) 13:00:32 ]
- >>988
ありがと。いまきずいた(汗
- 991 名前:986 mailto:sage [2006/07/23(日) 13:04:15 ]
- >>989
さんくす、助かった
- 992 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 18:01:34 ]
- よくコンパイルまで行ったな。
- 993 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 10:40:46 ]
- おまいら日本語よりC言語のほうが意思疎通出来るんだな(w
- 994 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 10:55:00 ]
- 次スレは>>995が立てるそうです。
- 995 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 18:38:56 ]
- 次スレはいらない。
- 996 名前:デフォルトの名無しさん mailto:sage [2006/07/25(火) 09:49:42 ]
- 入らなかったら拡張しろ
- 997 名前:デフォルトの名無しさん [2006/07/25(火) 16:42:16 ]
- 1000
- 998 名前:デフォルトの名無しさん mailto:sage [2006/07/25(火) 18:11:33 ]
- スマン…まさか携帯から立つとは思わなかったんだ…
次スレ C言語なら俺に聞け(入門篇) ぱぁと2〜 pc8.2ch.net/test/read.cgi/tech/1153818463/ スレタイについては反省していない
- 999 名前:デフォルトの名無しさん mailto:sage [2006/07/25(火) 18:21:20 ]
- >>998
乙
- 1000 名前:デフォルトの名無しさん mailto:sage [2006/07/25(火) 18:29:03 ]
- >>998
おまえというやつは・・・乙
- 1001 名前:1001 [Over 1000 Thread]
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
|

|