07/05/10 22:29:09
UNIX環境でCを書いています。
FILE *fp
fp = popen("gnuplot", "w");
fprintf(fp, "plot sin(x) w lines \n");
pclose(fp);
としてgnuplotを呼び出すプログラムを作りました。
今の状態では、gnuplotが立ち上がってsin(x)の関数が一瞬だけ表示され、
gnuplotが直ちに終了してしまいます。
どこにどのような処理をすれば、gnuplotを表示させたままに出来るのでしょうか?
Enterキーなどを押すことで終了するようにしたいです。
よろしくおねがいします。
174:デフォルトの名無しさん
07/05/10 22:32:14
>>172
それだけだとSJIS の時は、
全角文字の2バイト目で真になる可能性があるな。
リードバイトの判定とかした方がいい。
>>169 は EUC みたいだから大丈夫だとは思うが。
175:デフォルトの名無しさん
07/05/10 22:48:20
>>173
system("gnuplot < data.txt");
とかじゃだめかな?
data.txtはあらかじめ作っておく。
176:デフォルトの名無しさん
07/05/10 22:49:27
>>172,174
ありがとうございます。m(_;_)m
>is系関数に渡すときは unsigned char でキャストするのは定石。
助かります。
177:デフォルトの名無しさん
07/05/10 23:27:12
>>173
とりあえず表示を残すだけなら "gnuplot -persist" とすれば良いけど、
グラフを表示しているプロセス(gnuplot_x11)のIDを
外部プログラムを使わずに見付けて殺す方法が分からん。
178:デフォルトの名無しさん
07/05/10 23:50:48
system("gnuplot ... &")ではダメ?
真面目にプロセス管理したいならfork()/exec*()を使う羽目になるけど。
179:デフォルトの名無しさん
07/05/11 06:20:36
初歩的な質問ですがお願いします。
strlenなどの文字列を扱う関数は引数としてchar型の文字列への先頭ポインタをとります。
つまり、strlen(s)とすると配列sの先頭アドレスが渡され、結果が返ります。
しかし、strlen("test")とした際も結果は出力されます。
この"test"という文字列はどのようにプログラム内部で扱われるのでしょうか?
自動的に一時的にメモリに確保されるのでしょうか?
では宜しくお願いします。
180:デフォルトの名無しさん
07/05/11 07:31:33
>>179
exeファイルの中に入ってるでしょ
実行時にどう配置されるかはシステムによる
プログラム上ではポインタとして扱われる
181:デフォルトの名無しさん
07/05/11 07:44:13
>>179
ほぼ、static const char foo[] = {'t', 'e', 's', 't', '\0', }; strlen(foo);と同じ。
182:デフォルトの名無しさん
07/05/11 15:35:08
クリリンのAAきぼん
183:183
07/05/11 20:29:09
↓のソースで、☆印の行は何か意味があるでしょうか。
あってもなくても変わらない気がするのですが...
( 環境:Windows Vista , Visual Studio C++ Express Edition )
#include <stdio.h>
#include <windows.h>
#define THREAD_NUM 4
#define DATA_NUM 12
typedef struct _thread_type {
int thread_no;
int *data;
CRITICAL_SECTION *cs;
} thread_arg_t;
void thread_func(void *arg) {
thread_arg_t* targ = (thread_arg_t *)arg;
int i, result;
for (i = 0; i < DATA_NUM; i++) {
// EnterCriticalSection(targ->cs);
result = targ->data[i] + 1;
Sleep(0); ☆
targ->data[i] = result;
// LeaveCriticalSection(targ->cs);
}
}
184:183
07/05/11 20:30:00
int main() {
HANDLE handle[THREAD_NUM];
thread_arg_t targ[THREAD_NUM];
int data[DATA_NUM];
int i;
CRITICAL_SECTION cs;
/* データの初期化 */
for (i = 0; i < DATA_NUM; i++) data[i] = 0;
InitializeCriticalSection(&cs);
for (i = 0; i < THREAD_NUM; i++) {
targ[i].thread_no = i;
targ[i].data = data;
targ[i].cs = &cs;
handle[i] = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)thread_func,
(void *)&targ[i], 0, NULL);
}
WaitForMultipleObjects(THREAD_NUM, handle, TRUE, INFINITE);
DeleteCriticalSection(&cs);
for (i = 0; i < DATA_NUM; i++) printf("data%d : %d\n", i, data[i]);
return 0;
}
あとSleepは、
・0ミリ(引数の分)秒ウェイト状態にする。
・0はMPUを他の優先度のスレッドにのみ譲る。
ということでしたよね?
185:デフォルトの名無しさん
07/05/11 20:30:46
>>183
Win32では 「0を指定した場合、 スレッドは、 実行準備ができている同じ優先順位のほかのスレッドにタイム スライスの残りを譲ります。」
186:デフォルトの名無しさん
07/05/11 20:39:55
なんでMSDN Libraryで調べれば直ぐ分かるような事を質問するんだろうな
187:183
07/05/11 20:40:06
>>185
おーありがとございますー!!
188:デフォルトの名無しさん
07/05/12 00:12:06
printf("%s/n","Hello World");
上のprintf文の%sでどのように"Hello World"を処理しているのか分かりません。
どなたかご教授して下さい。
189:デフォルトの名無しさん
07/05/12 00:14:46
意味が分からん。
190:デフォルトの名無しさん
07/05/12 00:15:28
>>188
マルチうざい
191:デフォルトの名無しさん
07/05/12 00:25:14
>>190
すみません
192:デフォルトの名無しさん
07/05/12 00:33:48
>>190
ごめんなさい、でも教えてください蟹
Viiv
ミ(エ)ミ....
193:デフォルトの名無しさん
07/05/12 00:35:48
あのーコールバックの書き方が解からないのですが
助けてください。動作するサンプル提示してくれませんか?
194:デフォルトの名無しさん
07/05/12 00:37:14
何のコールバックだよ…
195:デフォルトの名無しさん
07/05/12 00:37:38
URLリンク(www.google.co.jp)
196:蟹NIC
07/05/12 00:37:47
printf("%p/n","Hello World");
上のprintf文の%pでどのように"Hello World"を処理しているのか分かりません。
どなたか教えてください。
Viiv
ミ(エ)ミ....
197:デフォルトの名無しさん
07/05/12 00:49:14
>>188
可変長引数でも調べて推測してください。
様は第一引数の中を読んでいって、%フラグに当たったら対応する引数をフラグに従って変換した上で元の文字列に挿入してるんだと思う。
198:デフォルトの名無しさん
07/05/12 00:56:33
別に挿入なんかしてないけどね。
199:デフォルトの名無しさん
07/05/12 01:55:15
>>197
ご教授ありがとうございます。
200:デフォルトの名無しさん
07/05/12 02:30:45
そんなに知りたいならglibcのソースでも読めばいいのにな
201:デフォルトの名無しさん
07/05/12 02:37:18
ソースリーディングは初心者には難しい
202:デフォルトの名無しさん
07/05/12 02:45:10
>>196
------------------------------------------------------------
60 名前: デフォルトの名無しさん 投稿日: 2007/05/12(土) 00:10:17
printf("%s/n","Hello World");
上のprintf文の%sでどのように"Hello World"を処理しているのか分かりません。
どなたかご教授して下さい。
------------------------------------------------------------
この質問って流行ってるのか?
203:デフォルトの名無しさん
07/05/12 02:49:12
馬鹿がマルチしてるだけじゃない?
204:蟹NIC
07/05/12 03:16:31
>>202 いいえ、まマイブームレベル位かな
Viiv
ミ(エ)ミ....
205:デフォルトの名無しさん
07/05/12 06:53:20
>>117
配列は番兵を使うために便宜的に要素+1の部分にアクセスできるんだぜ?
206:デフォルトの名無しさん
07/05/12 07:27:03
>>205
ねーよwwwwwwwwwwwwwwwwwwwwwwwwwww
#include <stdio.h>
int main() {
int a[4] = { 0, 0, 0, 0 };
int b = 0;
a[4] = 3;
printf("%d\n", b);
return 0;
}
で 3 が表示されたぜ(gcc 4.0.1 for Mac)。
207:デフォルトの名無しさん
07/05/12 07:33:50
ポインタを向けるだけなら未定義動作にならないってだけでしょ
208:デフォルトの名無しさん
07/05/12 07:43:23
>アクセスできる
をどう好意的に解釈しても、ポインタを向けるだけ、にはならん罠。
209:デフォルトの名無しさん
07/05/12 07:45:46
どちらかというと205宛てに書いたレスなのだが…
210:デフォルトの名無しさん
07/05/12 08:50:05
>>205
>配列は番兵を使うために便宜的に要素+1の部分にアクセスできるんだぜ?
マジレスするとそれは文字列のときだけな。
char a[] = {1, 2, 3}; // sizeof a == 3
char b[] = "123"; // sizeof b == 4
211:デフォルトの名無しさん
07/05/12 08:50:21
釣りだって
212:デフォルトの名無しさん
07/05/12 08:51:17
知ってるよ
213:デフォルトの名無しさん
07/05/12 08:52:22
char c[3] = "123";
214:デフォルトの名無しさん
07/05/12 09:00:47
charの配列だけchar配列じゃなくて文字配列って言うことが多いし
文字配列には後ろに'\0'が付くみたいな覚え方をしてたから
なんかcharの配列だけは特別な代物のように思ってた過去
215:デフォルトの名無しさん
07/05/12 09:01:56
文字配列とは言わんなあ。
文字列としか。
216:デフォルトの名無しさん
07/05/12 11:26:20
私の処で文字配列といった場合、それはナルターミネートされていない。
217:デフォルトの名無しさん
07/05/12 11:35:24
相変わらず嘘と無価値な雑談でしか伸びないスレだな
218:デフォルトの名無しさん
07/05/12 11:36:38
君も仲間だ、歓迎するよ
219:デフォルトの名無しさん
07/05/12 13:01:15
質問です。
#include <stdio.h>
int main(void)
{
float a,b;
char e;
printf("変数a=");
scanf("%f",&a);
printf("変数b=");
scanf("%f",&b);
printf("文字=");
scanf("%c",&e);
printf("変数a=%f 変数b=%f 文字列d=%c\n",a,b,e);
return 0;
}
これをコンパイルすると文字列データを読みこんでくれません。。
おそらくprintfかscanfの仕様に問題があるのでしょうがこれの理由と回避方法をご教示願いたいです。
220:デフォルトの名無しさん
07/05/12 13:17:40
>>219
・文字と文字列の違いを理解しよう。
・scanf()の仕様に気をつけよう。
221:デフォルトの名無しさん
07/05/12 13:20:11
演算子を使わないで割り算や掛け算ってどうやるんですか?たとえば9÷3
222:デフォルトの名無しさん
07/05/12 13:22:43
演算子を使わないで演算するには、関数を使えばいい。
223:デフォルトの名無しさん
07/05/12 13:25:01
>>222
関数を自分でつくるということですかね?
224:デフォルトの名無しさん
07/05/12 13:25:16
>>219
scanf("%c",&e);
↓
scanf("%*[ \t\n]");
scanf("%c",&e);
変数b を読み込んだ後、改行文字がバッファに残っている
バッファに残った改行文字を次の scanf("%c",&e); で読み込んだため
変数e には改行文字が入ってしまった
この問題を回避するには、バッファに残っている改行文字を読み飛ばせば良い
225:デフォルトの名無しさん
07/05/12 13:27:18
つか入門書安易にscanf使いすぎ。
エラーチェックしなさすぎ。
226:デフォルトの名無しさん
07/05/12 13:38:59
>>223
つ[div()]
227:デフォルトの名無しさん
07/05/12 13:54:31
>>224なるほど ありがとうございます。
228:デフォルトの名無しさん
07/05/12 14:22:00
>>222
数学を一度勉強した方がいいですね。
具体的には線形空間というやつですよ・・・
229:デフォルトの名無しさん
07/05/12 14:27:06
数学の話じゃないだろ・・・常識的に考えて。
230:デフォルトの名無しさん
07/05/12 14:27:32
>>228
演算子を使わずにできる?
もちろんシフト演算も無しで
>>221
関数以外だとインラインアセンブラ使えば
演算子を使ったとは言われないとか?
231:デフォルトの名無しさん
07/05/12 14:28:43
>>228
何を寝惚けたことを?
232:デフォルトの名無しさん
07/05/12 14:44:24
設問の定義があいまい
233:デフォルトの名無しさん
07/05/12 14:51:20
// 演算子を使わない足し算。
int add(int a, int b)
{
FILE * fp = fopen("/dev/null", "w");
int rtn = fprintf("%*s%*s", a, "", b, "");
fclose(fp);
return rtn;
}
234:デフォルトの名無しさん
07/05/12 14:52:56
>>233
負数対応キボン
235:デフォルトの名無しさん
07/05/12 14:57:17
>>233
代入演算子を使っているw
>>234
わはは、そりゃ確かに>233じゃ無理だ。
236:デフォルトの名無しさん
07/05/12 14:58:03
int add(int a, int b) {
}
237:デフォルトの名無しさん
07/05/12 14:58:57
ミスった。
int add(int a, int b) {
__asm {
mov eax, a
add eax, b
}
}
238:デフォルトの名無しさん
07/05/12 15:02:00
そういえば関数呼び出しの括弧も演算子なんじゃなかったっけ?
239:デフォルトの名無しさん
07/05/12 15:02:17
>>222がなんでそんなことをしたくて何を「演算子」と呼んでいるかしらんが
if文だりなんだり使って全部作ればいいんじゃね
足し算なら1+1 = 2
だからa,bが両方とも1なら2を出力するというように
それらをすべて0~9のを自分でつくる
あと桁上げの関数ももちろん自分で作って
240:デフォルトの名無しさん
07/05/12 15:03:27
比較にも演算子が必要だな。
241:デフォルトの名無しさん
07/05/12 15:04:40
if じゃなくて switch ならイケる。
ただ、コード量が多すぎて int 全部を網羅できないな。
char 程度ならともかく。
242:デフォルトの名無しさん
07/05/12 15:05:01
switch しか無いな
243:デフォルトの名無しさん
07/05/12 15:05:06
つまんないからもうやめていいよ
244:デフォルトの名無しさん
07/05/12 15:07:01
お前らほんと数学分かってないんだな・・・
まじ小学校からやり直せよ
245:デフォルトの名無しさん
07/05/12 15:08:19
>>235
そこにある=は初期化子であって演算子ではない。
246:デフォルトの名無しさん
07/05/12 15:12:47
>>244
プログラミング言語において「演算子」が何を指すかを勉強し直してきてください。
247:デフォルトの名無しさん
07/05/12 15:13:17
>>241
桁上げの関数作ればできるだろ
switchだって演算子を裏に隠しているだけに過ぎないし
ちなみに足し算とかってそもそも写像なんだから
なんでそんなことやりたいのかよくわからん
数学じゃなくてC言語で言う「演算子」は人間が勝手に付けた分類だから
それにこだわっても意味が無い
>>228のいうように少し数学を学んだほうがいい
248:デフォルトの名無しさん
07/05/12 15:13:39
>>245
しかし残念 >>238
249:デフォルトの名無しさん
07/05/12 15:15:31
>>247
何で数学の演算子にこだわるのか理解できないのだが。
ここは C 言語スレだぞ?
250:デフォルトの名無しさん
07/05/12 15:18:44
元質問者出てこいよ
後出しで、四則演算子のことでした、とか言いそうだが
251:デフォルトの名無しさん
07/05/12 15:19:36
>>222-250
252:デフォルトの名無しさん
07/05/12 15:20:53
>>221
>演算子を使わないで割り算や掛け算ってどうやるんですか?たとえば9÷3
割り算や掛け算って言ってるけど
253:デフォルトの名無しさん
07/05/12 15:22:43
>>222の問題意識が何なのかということだぁね
C言語だと同じことできるけどこれは演算子と呼ぶ
これはそう呼ばないだけの違いになってしまうから
C言語での「演算子」の意味にこだわって
わざわざ考えるほどの価値がある物と思えない
もし>>222がC言語において何を演算子と呼ぶのかをどうやって決めたか
知りたいとかなら別だけど
結局のところC言語での演算子と数学での演算子の区別すらつかずに
質問しちゃったってオチの気がするw
254:デフォルトの名無しさん
07/05/12 15:24:37
C仕様書には区切り句で何らかの作用を起こすもの(代入とかな)を演算子とすると書かれてるんだから
演算子を使わずに何かをするなんて無理だろ
255:デフォルトの名無しさん
07/05/12 15:27:00
ここは環境依存おkだから、
インラインアセンブラ使えばおk。
256:デフォルトの名無しさん
07/05/12 15:30:17
2で割った剰余を取る演算て最近のコンパイラだと
勝手に0x01とのビットANDもしくはそれより速いコードに変えてくれるんでしょうか?
257:デフォルトの名無しさん
07/05/12 15:32:47
>>254
てことはC言語の演算子は数学の演算子の定義に沿って定義されている
ということだな べんきょうになったw
258:デフォルトの名無しさん
07/05/12 15:33:27
>>256
Yes.
259:デフォルトの名無しさん
07/05/12 15:36:31
sizeof まで演算子だしなあ。
260:デフォルトの名無しさん
07/05/12 16:02:59
(void)printf("ほげほげ");
と、printfまでキャストをする必要はあるのでしょうか?
261:デフォルトの名無しさん
07/05/12 16:04:21
>>260
無い。そもそもintをvoidにキャストしてどうするんだ?
262:デフォルトの名無しさん
07/05/12 16:04:27
>>260
ない。
ただし、戻り値を取得し忘れてるわけじゃなく明示的に捨ててるんだという意思表示として
(void)にする流儀はあるにはある。
好み、コーディングスタイルレベルの話。
263:デフォルトの名無しさん
07/05/12 16:05:26
>>261
戻り値を使わないことを明示する効果がある。
lintのようなチェッカを黙らせる効果もあるな。
264:デフォルトの名無しさん
07/05/12 16:06:37
そうそう、コーディング規約に「戻り値は必ずチェックすること」という項目があって、
それの評価を厳密に行なう運用の場合にもそうする必要があるね。
265:デフォルトの名無しさん
07/05/12 16:10:14
>>263
lint対策か。それなら納得
266:デフォルトの名無しさん
07/05/12 16:57:40
コンパイラにもよる。
たとえばFreescaleのCodeWarriorは(void)をつけないとwarningを出すのがデフォルト動作。
267:デフォルトの名無しさん
07/05/12 18:42:50
int main(void){
int a=1;
kansu(a);
}
までやっておいて
①int kansu(int a){
printf("%d",a*2);
}
②int kansu(int *a){
printf("%d",a*2);
}
①だと正常に動いたのですが、
②だと「*」がダメだ~ とコンパイラに怒られるのですが、
この違いとは何なんでしょうか?
268:デフォルトの名無しさん
07/05/12 18:45:51
>>267
(2)の*は、意味も分からないで適当につけたの?
269:デフォルトの名無しさん
07/05/12 18:47:47
int kansu(int *a){
printf("%d",a*2);
}
↓
printf("%d",*a*2);
↑
これじゃね?
270:デフォルトの名無しさん
07/05/12 18:50:45
gets()関数で文章を読み取ってます。リダイレクションでメモ帳で作った文章入れると、改行のところ以降プログラムに読み込まれません。
どうしてでしょうか?改行があっても最後までいきたいんですが
271:デフォルトの名無しさん
07/05/12 18:52:22
>>270
getsは改行文字までしか読み取らない
manにも書かれてる基本仕様
ついでにgetsを使うのは推奨されない
272:デフォルトの名無しさん
07/05/12 18:53:05
>>271
じゃあ代理のものとして、何を使ったらいいですかね
273:デフォルトの名無しさん
07/05/12 18:54:58
>>268
気のせいかもしれませんが、
関数を定義してるプログラムを見ると多くが *a となっていたので、
違いを知りたいなと思って作ったプログラムなので、
かなり不備はあるかもしれません・・・。
>>269
②の場合だと必ずメモリ関連でセグメントエラーか、警告が出続けてしまうんです。
試したところ、、、セグメントエラーが出ました。
274:デフォルトの名無しさん
07/05/12 18:56:55
>>272
fgets(・・・, stdin)
275:デフォルトの名無しさん
07/05/12 18:58:02
>>274
stdinっていうのはなんでしょうか
276:デフォルトの名無しさん
07/05/12 18:59:01
>>272
>gets() を使うのは極めて危険である。(中略)代わりに fgets() を使うこと。
URLリンク(www.linux.or.jp)
これぐらい自分で調べろ
277:デフォルトの名無しさん
07/05/12 18:59:34
>>273
コールするほうも
kansu(&a);
と変えないとだめだよ。
こういうところで試行錯誤してるなら、入門書を一冊買ったほうがだいぶ時間の節約になると思うけど。
278:デフォルトの名無しさん
07/05/12 19:00:09
>>275
とりあえずググれや。
279:デフォルトの名無しさん
07/05/12 19:00:11
>>273
int kansu(int *a) にするなら
int main(void){
int a=1;
kansu(&a); < &をつけなきゃ
}
280:デフォルトの名無しさん
07/05/12 19:01:56
>>276
危険なんですね。
fgetsにしたら
呼び出し時のパラメータが足りない:fgets(関数 main )
ってなってコンパイルできないんですが・・・・
281:デフォルトの名無しさん
07/05/12 19:02:58
>>280
URLリンク(www.bohyoh.com)
ちゃんと必要な引数を与えている?
282:デフォルトの名無しさん
07/05/12 19:04:35
>>277,279
すごい納得できました。ありがとうございました。
入門書は・・・買ったんですが、、、馬鹿なので理解できない^^;
283:デフォルトの名無しさん
07/05/12 19:06:16
>>281
なんかよくわからないんですが、
char型の配列に文章をいれたいんです・・・・
char bunsyo[256]
みたいなやつにです
284:デフォルトの名無しさん
07/05/12 19:07:28
>>283
fgets(bunsyo, 255, stdin)
285:デフォルトの名無しさん
07/05/12 19:08:16
>>283
gets()をfgets()に変更するくらいの手続きを自分で考えられない(≒検索できない)なら、
プログラマに向かないからとっとと諦めた方がいいよ。
286:デフォルトの名無しさん
07/05/12 19:09:04
>>284
ダウト。慣用句的にそれを使っているのなら、
一度マニュアルページをよく読んで自分の過ちに気付いておいた方がいい。
287:デフォルトの名無しさん
07/05/12 19:09:56
>>284
コンパイルはとおるんですが、改行のところで読み込みがおわってしまうんですが・・・・
288:デフォルトの名無しさん
07/05/12 19:10:09
>>284
第二引数Nはバッファサイズだろ
読み込まれる文字数最大値はN-1
289:デフォルトの名無しさん
07/05/12 19:10:27
>>286
ダウト。説明なしにそういうことを言うのはお前の知ったかに過ぎない
290:デフォルトの名無しさん
07/05/12 19:11:12
>>287
fgets()も、改行までしか読まない。
だから、マニュアルページを読むなり情報を検索できないなら無駄だから諦めろって。
291:デフォルトの名無しさん
07/05/12 19:11:56
>>288
gdgdいってねーで正解を書いたら?知ったかへぼプログラマーwwww
N-1そうだよ?何か?まさか、254 にしろとかボケないだろうね?
292:デフォルトの名無しさん
07/05/12 19:12:48
>>290
読み込むテキストに工夫がいりますかね?
293:デフォルトの名無しさん
07/05/12 19:13:06
>>289=>>291か?
ファビョってんじゃないよ。
そこまで分かってて正解が判らないような屑がこの板なんかに書くんじゃないよ。
294:本日の知ったか馬鹿第一号
07/05/12 19:13:27
288 名前:デフォルトの名無しさん 投稿日:2007/05/12(土) 19:10:09
>>284
第二引数Nはバッファサイズだろ
読み込まれる文字数最大値はN-1
295:デフォルトの名無しさん
07/05/12 19:13:42
暇だからプログラム組もうかな
でも、モチベーションが・・・・・
なにか練習問題でものってるサイトないか?
296:デフォルトの名無しさん
07/05/12 19:14:33
>>292
テキストファイルを丸ごと読み込むには、
・fgetc()で一文字ずつ
・fgets()で一行単位で
・fread()でブロック単位(或いは一気に)
読む必要がある。
297:デフォルトの名無しさん
07/05/12 19:14:34
>>291
だから>>283の宣言なら、普通にfgets(bunsyo, 256, stdin);でいいだろ
なんでバッファのラスト1バイトを無駄にしてんだよ
>>292
ループ回して一行ずつ読み込む
298:デフォルトの名無しさん
07/05/12 19:14:44
>>287
宿題スレで、ファイル全部読み込むコード書いてくださいって言ったほうがいいんじゃね?
299:デフォルトの名無しさん
07/05/12 19:14:47
>>276とかこのスレにいらねーだろ。このスレが何なのかわかっていないのに
まだ勉強中の知らない奴を見つけて、自分が知っていることをひそかに自慢しながら
他人をたたく基地外だろ。ここでレスしているほかの奴にとっては迷惑千万、失せろクズプログラマー
300:デフォルトの名無しさん
07/05/12 19:15:52
>>293
>そこまで分かってて正解が判らないような屑が
自分が指摘したのに答えられない(勘違い)クズこそ来るなよw
お前はまったく指摘をしていない。ただたんに 自分が思った ことと違っていただけ。
それもお前が間違えているという勘違い(プ
不適切なら正しい使い方を明示しろ、たぶんお前じゃできない。あれは間違っていないからw
301:デフォルトの名無しさん
07/05/12 19:15:56
ファイルのサイズがわかってるなら、適当な大きさのバッファを用意して、
fread()でもいいけどな。
302:デフォルトの名無しさん
07/05/12 19:16:07
人間の屑よりはマシだな
303:デフォルトの名無しさん
07/05/12 19:16:58
>>296
うーん。めんどくさそうですね。テキストファイルの改行をなくしちゃいます
304:デフォルトの名無しさん
07/05/12 19:17:35
>>300
あのね、坊やみたいなお子ちゃまはこんなところに来ちゃダメよ。
既に正解レスがついているんだからもっと落ち着きましょうね。
305:デフォルトの名無しさん
07/05/12 19:18:10
お前ら邪魔
306:デフォルトの名無しさん
07/05/12 19:18:18
>>299
自分で考えよう、調べようって姿勢が見えたら、頭わるそうなヤツでもけっこう親切に教えてもらえるよ。
ただ「わからない、を即答せよ」ってだけじゃ教えてもらえない。
307:デフォルトの名無しさん
07/05/12 19:19:32
>>293
揚げ足取りにもならなかったな、所詮お前はわかっていない(っと自分が思った)奴をたたくだけか
二度とくるな、お前みたいなクズこそこのスレにはいらない。このスレのタイトル読めますか?
あっ、日本語も日本の社会もろくに知らない在日かw
308:デフォルトの名無しさん
07/05/12 19:20:15
まぁ、fgets()の慣用句はfgets(buf, sizeof(buf), stdin)だがな。
仮にもプログラムを組もうというときに、きちんと調べる手間を惜しんじゃ遺憾な。
309:デフォルトの名無しさん
07/05/12 19:20:18
以下、キモメンメガネデヴピッツァのきめ台詞が出るまでお待ちください
310:デフォルトの名無しさん
07/05/12 19:20:38
>>304
あのね、小学生未満の精神年齢のお子ちゃまはこんなところに来ちゃダメよ。
勘違いの指摘レスがついているんだからもっと落ち着きましょうね♪
んで、何が間違いか、指摘できた?正解がとかじゃなくてw
311:デフォルトの名無しさん
07/05/12 19:21:38
「屑」対「クズ」か。どっちが半島人かは火(病)を見るより明らかだな。
312:デフォルトの名無しさん
07/05/12 19:22:26
>>284は単なる入力ミスだろ。それだけでここまで お前はあほだ! みたいな
プレッシャーをかける基地外ってプログラマーに向いてねーよなwwwwww
313:デフォルトの名無しさん
07/05/12 19:22:47
>>309
半島人がでてきたぞ。
314:デフォルトの名無しさん
07/05/12 19:23:23
>>282
だったらその本は自分に向いていなかったと諦めて、
ちょっと立ち読みして、ほかに良さそうな本を探して買えばいい。
315:デフォルトの名無しさん
07/05/12 19:23:36
くずはくずかごに入っとけ。
それより早く>>295に答えてください。
316:デフォルトの名無しさん
07/05/12 19:24:33
>>311 地球上のカス以下の お 前 が 言 う な wwwwwwww
っつーか、揚げ足取り必死だなw
そんなんじゃ本当にプログラマーに向いてねーよ、その程度のことでガミガミ
相手を罵倒するようじゃ、そんな奴こそこんなスレに来ないほうが良いだろ。
気分が悪くなるものを敢えてみてゲロを吐いているマゾかい?w
グロ動画でも貼ってやろうか?w
317:デフォルトの名無しさん
07/05/12 19:24:59
おお、新展開。今度の攻撃は「単なる入力ミス」ですw
>>315
宿題スレに未解決の宿題が幾つかあるんじゃない?
下手なサイト見るより勉強になりそうですよ。
318:デフォルトの名無しさん
07/05/12 19:29:25
freadでも使えば。
319:デフォルトの名無しさん
07/05/12 19:30:13
>>317
ほらな、そういうことで相手をチクチクつついて周りの気分も害しているだろ?
だからお前みたいなつまらねークズはプログラマーに向いてないから
頼むから大掛かりなプロジェクトには絶対に介入するなよ。
っつーか協調性がなくて無理だろうね、お前みたいなちっぽけなクズはw
ちなみに、あの程度の間違いならさらっと 256 って書けば済んだ話だろ。
お前わかってねー!間違えたへへーん馬鹿!とか罵倒する方が頭がイカレてんだろ。
そういう奴に限って、自分の間違いを指摘されると、認めないどころか
お前がおかしい!って言い始めるから困るぜ ヤレヤレ
以後、さっきからきんもぉ~★な指摘するだけで答えを出さない基地外は放置よろ
たぶん引きこもりニートだろ
320:デフォルトの名無しさん
07/05/12 19:30:36
>>318
>296
>301
321:こいつさいこーに協調性のない引きこもりwww
07/05/12 19:32:14
317 名前:デフォルトの名無しさん 投稿日:2007/05/12(土) 19:24:59
おお、新展開。今度の攻撃は「単なる入力ミス」ですw
293 名前:デフォルトの名無しさん 投稿日:2007/05/12(土) 19:13:06
>>289=>>291か?
ファビョってんじゃないよ。
そこまで分かってて正解が判らないような屑がこの板なんかに書くんじゃないよ。
297 名前:デフォルトの名無しさん 投稿日:2007/05/12(土) 19:14:34
>>291
だから>>283の宣言なら、普通にfgets(bunsyo, 256, stdin);でいいだろ
なんでバッファのラスト1バイトを無駄にしてんだよ
なんでバッファのラスト1バイトを無駄にしてんだよ
↑こういう嫌らしい言い方をするだろ?
だから日ごろ嫌われていることに気づかない仲間はずれなんだろうからこんな場所で
匿名性を利用して自分より知識の乏しい弱者相手に強気になれるんだろうねw
322:284
07/05/12 19:34:14
>>284はただの入力ミスです ♠
56としたつもりが同じキーを2回押して書き込みしちゃっただけでぇ~~~す ♣
あぁ~~いとぅいまてぇ~~ん、文字配列のサイズを指定するように、ここでレスする以外の
自分が書くソースでは sizeof 使ってまぁ~~~つ ♥
323:デフォルトの名無しさん
07/05/12 19:36:19
char s[256];
size_t size=sizeof(s)/sizeof(s[0];
sizeof(s,size,stdin);
こんな感じでぇ~~どぉ~~~でちゅかぁ~~?♦
324:デフォルトの名無しさん
07/05/12 19:37:15
あちゃぁ~~、今度はsizeofの閉じ括弧忘れちゃいまちちゃぁ~~~
あぁ~~~いとぅいまちぇぇ~~~~ん ♪
325:デフォルトの名無しさん
07/05/12 19:39:29
fgetsの仕様って
buf[BUFFER_SIZE];
fgets(buf, BUFFR_SIZE, stdin);
とかするためにこんな仕様になってるんでしょうか?
326:デフォルトの名無しさん
07/05/12 19:43:07
こんな仕様が何を指すのかわからん。
327:デフォルトの名無しさん
07/05/12 19:44:52
>>325
そう
328:デフォルトの名無しさん
07/05/12 19:46:54
>>325
fgets()の他にも、strftime(), snprintf()も同じように格納バッファサイズを指定して、
それよりも少ない文字数しか格納しないような仕様になっている。
329:デフォルトの名無しさん
07/05/12 19:50:27
なるほど、文字列の最後が\0で終わるからその分余計に取らないと駄目だからか
330:デフォルトの名無しさん
07/05/12 20:11:00
普通にsizeof使えば、悩むことなんて何もないのに
331:デフォルトの名無しさん
07/05/12 20:20:56
>>330
getsもsizeof使って実装すれば何の問題もないのに、と思っていたりする?
332:デフォルトの名無しさん
07/05/12 20:22:21
まず、おまえさんが何が言いたいのか分からん。
333:デフォルトの名無しさん
07/05/12 20:22:29
333 gets!
334:デフォルトの名無しさん
07/05/12 20:37:37
つまり、まぁ、こういうこと
int main(void)
{
exit 0;
}
335:デフォルトの名無しさん
07/05/12 20:38:31
URLリンク(d.hatena.ne.jp)
お前らほんっとうにこれが好きなんだな
336:デフォルトの名無しさん
07/05/12 20:39:50
くだらなすぎ
337:デフォルトの名無しさん
07/05/12 20:54:40
標準入力から読み込みたいけどサイズとファイルポインタ指定が面倒ってことなら
自分でfgetsをそれらを決め打ちした状態で呼び出す関数作ればいいんでは
338:デフォルトの名無しさん
07/05/12 21:24:36
void WriteLog(const wchar_t szComment[])
{
FILE *fp;
errno_t err;
time_t ttime;
wchar_t buff[CTIME_SIZE];
if ( ( err = fopen_s( &fp, szPath, "at") ) != 0 )
return
time( &ttime );
if( ( err = _wctime_s( buff, CTIME_SIZE, &ttime) ) != 0 )
return;
fwprintf( fp, L"%s", szComment );
fwprintf( fp, L", %s", buff);
fclose( fp );
}
こういう関数を作って、使おうと思ったんですが、
例えばこのように使うと WriteLog( L"あああ (AAA)" );
↓のように書き込まれてしまいます
??? (AAA), Sat May 12 21:15:19 2007
なぜでしょうか?
339:デフォルトの名無しさん
07/05/12 21:43:29
>>338
ログファイルの先頭にBOMを入れるようにすれば読めるんじゃね?
340:デフォルトの名無しさん
07/05/12 22:06:58
今、配列の要素として1,2,3,4があるとき、これらの要素を連結して他の変数に代入(n = 1234)することはできますか?
341:デフォルトの名無しさん
07/05/12 22:07:24
できます。
342:デフォルトの名無しさん
07/05/12 22:15:24
>>341
教えて下さい
343:デフォルトの名無しさん
07/05/12 22:18:45
BOOL厨ワロタw
344:デフォルトの名無しさん
07/05/12 22:19:50
b = a[0] * 1000 + 1[a] * 100 + *(a+2) + 10 + a[3];
345:デフォルトの名無しさん
07/05/12 22:24:01
>>344
ありがとうございます
346:デフォルトの名無しさん
07/05/12 22:42:10
>>344
この妙な書き方噴いたwww
347:デフォルトの名無しさん
07/05/12 22:42:59
一箇所間違ってるし
348:デフォルトの名無しさん
07/05/12 22:50:12
>>347
可哀想だからスルーしてやれよw
349:デフォルトの名無しさん
07/05/12 22:50:45
足し算になってるのか
350:デフォルトの名無しさん
07/05/13 00:07:33
数学が分かってない人が多すぎる
351:デフォルトの名無しさん
07/05/13 00:18:02
小学生だっているだろうし 仕方ないさ
352:デフォルトの名無しさん
07/05/13 00:21:03
#include <stdio.h>
#include <math.h>
int main() {
int nums[] = {1,2,3,4,5};
int nums_len = sizeof(nums)/sizeof(nums[0]);
int num = 0;
for (int i = 0; i < nums_len; ++i) {
num += nums[i] * (int)pow(10, (nums_len-1) -i);
}
return 0;
}
よし、これでどうだ!!
353:デフォルトの名無しさん
07/05/13 00:29:06
もうsprintfでいいだろw
354:デフォルトの名無しさん
07/05/13 00:48:01
ちょっと聞きたいんだけど
(環境.WindowsXP BCC32)
#include <stdio.h>
int main()
{
FILE *fp=fopen("test.txt","w");
unsigned d=0x0d;
fwrite(&d,sizeof(d),1,fp);
fclose(fp);
return 0;
}
test.txt に バイナリ値で 0D 00 00 00 ではなく 00 00 00 4E として書き込まれる
これってどうしてでしょうか?
355:デフォルトの名無しさん
07/05/13 00:52:10
>>354
URLリンク(www.bohyoh.com)
URLリンク(www.bohyoh.com)
356:デフォルトの名無しさん
07/05/13 00:52:54
>354
bcc32(v5.82)でコンパイルしてみた。
ちゃんと
0D 00 00 00
になったけど?
357:デフォルトの名無しさん
07/05/13 00:53:19
>>354俺んとこじゃちゃんと0D 00 00 00になったぞい
358:デフォルトの名無しさん
07/05/13 00:54:14
亡羊のページなんか張るなよ
359:デフォルトの名無しさん
07/05/13 00:55:10
>>358
なんで?んじゃどこをはれば良いの?なんでいちいちちっぽけな低学歴馬鹿のお前の言うことを
聞かなきゃならねーの?さっきからうぜぇんだよ、くだらねぇことでチクチク煽ったり、あほじゃねこいつ?
360:354
07/05/13 00:55:21
失礼しました
ちょっと違いました
バイナリ値で 0D 00 00 00 ではなく 00 00 00 として書き込まれる
0D が書き込まれていない、でした
それと1Aも書き込まれないようです
制御コードだからですか?
361:デフォルトの名無しさん
07/05/13 00:56:20
>>360
意味が分からん。何がいいたい?
362:デフォルトの名無しさん
07/05/13 00:56:52
確認方法に問題があるんじゃないのか。
ちゃんとしたバイナリエディタ使ってるか?
363:自分が気に食わない発言を見つけると得意気に罵倒してくる基地外
07/05/13 00:57:12
286 名前:デフォルトの名無しさん 投稿日:2007/05/12(土) 19:09:04
>>284
ダウト。慣用句的にそれを使っているのなら、
一度マニュアルページをよく読んで自分の過ちに気付いておいた方がいい。
293 名前:デフォルトの名無しさん 投稿日:2007/05/12(土) 19:13:06
>>289=>>291か?
ファビョってんじゃないよ。
そこまで分かってて正解が判らないような屑がこの板なんかに書くんじゃないよ。
そこまで分かってて正解が判らないような屑がこの板なんかに書くんじゃないよ。
そこまで分かってて正解が判らないような屑がこの板なんかに書くんじゃないよ。
お前みたいな自分基準しか言わない馬鹿や間違っているのを見つけては叩くだけしかしない奴が
このスレどころかこの板にこない方が良いよ、プロになれなかったグラマー(ただのデブ)www
364:デフォルトの名無しさん
07/05/13 00:58:33
>>360
バイナリィエディタで開いてみたら、0D 00 00 00になったけど?
365:デフォルトの名無しさん
07/05/13 01:00:00
>>360
0x0d を書き込んでいて、
なんで 0x1Aを期待するのかわからんし。
そもそも書き込んでるのがバイナリなのにファイル名が.txtなのも謎だし。
というか君は何がしたいの?w
そこを言えば根本的なバグも教えて貰えるかも。
366:デフォルトの名無しさん
07/05/13 01:00:40
>>358
ねぇねぇ、どこを参照すりゃ良いの?お前、もしかして亡羊さんのことが嫌いな人?
亡羊さんに嫌がらせをしている人がいないか聞いたら、お前みたいなへぼプログラマーが
誰か特定できるかな?ちと亡羊さんに通報してこようかな?w
367:デフォルトの名無しさん
07/05/13 01:01:46
>>365
お前もいちいちうるさいなぁ、馬鹿じゃね?わけがわからないとかじゃなくてさぁ
できたって報告があるんだから、いちいち何言ってんだかわかんねーじゃなくて
どうやって0D 00 00 00以外が書き込まれたか、確認した手段を聞いた方がはえーよ馬鹿w
368:354
07/05/13 01:01:59
>>356-357
そうですよねぇ
普通なりますよねぇ
もうすこしチェックしてみます
369:デフォルトの名無しさん
07/05/13 01:03:44
>>360
URLリンク(www.vector.co.jp)
良いから開いてみれ。ちゃんと書き込まれているからw
370:デフォルトの名無しさん
07/05/13 01:07:54
C言語初心者です。
基本情報処理技術者をとって会社に就職して、
プログラマーからSEになったらどの位の給料になるんでしょうか?
もちろん個人と会社による話ですが、相場を教えて下さい。
SEになっても月に30万位なんでしょうか??
371:デフォルトの名無しさん
07/05/13 01:07:58
365の反応が普通だろw
372:デフォルトの名無しさん
07/05/13 01:08:52
>>370
マ板池
373:デフォルトの名無しさん
07/05/13 01:09:25
>>367
ば…ばかって言うヤツが馬鹿なんだからねっ!!!
374:デフォルトの名無しさん
07/05/13 01:09:51
>>371
普通じゃねーよ、相手にひたすらプレッシャーを与えてボロを出したところを
さらに叩く基地外くらいだろ、そういうのがデフォになっている視野も心も狭い低学歴はw
普通は何を使って書き込まれた値を確認したか聞くだろ。
375:デフォルトの名無しさん
07/05/13 01:10:52
>>372さん
マ坂とはなんでしょうか…?
376:デフォルトの名無しさん
07/05/13 01:11:40
良いかてめぇ~ら、C言語をかじったくらいのクソガキが、これから始める初心者を
ネチネチいじめてんじゃねーよ、スレタイが読めていないのか、こういうスレに集まる
初心者より自分の方が知識も経験もあるということを知って安心したいのか知らないが
答える気がないならこのスレから出ていってくれ。二度と戻ってくるな。
所詮お前は、プロになれなかったただのデヴ(グラマー)だ
377:デフォルトの名無しさん
07/05/13 01:12:03
>>375
プログラマー板
378:354
07/05/13 01:15:10
すみません.自分の勘違いのようです
今作っているものがunsigned ID, unsigned short sizeを読み、次にsize分文字列として読ませているんですが
IDが0x0Dまたは0x1Aになるとバグったもので
もう一度見直してきます
どうもありがとうございました
379:デフォルトの名無しさん
07/05/13 01:16:06
>>378
おそらくfopenの際、モードをバイナリにしてないからだろ
バイナリ指定してない場合、改行文字絡みで自動変換が行われる
380:デフォルトの名無しさん
07/05/13 01:21:23
>>374
オマエのトラウマなんかどうでもいいよ
381:デフォルトの名無しさん
07/05/13 01:21:24
>>374
火病ってんじゃねーぞ
・ >365 が元質問者を叩いているという事実認識がまず脳内
・ 自分が >365 を叩いてる事実を放置
・ 自分の主観が「普通」と勝手に定義
どっちが基地外かは火を見るより明らか
382:デフォルトの名無しさん
07/05/13 01:21:55
マジでやめてくんないかな
383:デフォルトの名無しさん
07/05/13 01:22:45
嫌な荒れ具合だな
亡羊本人でも降臨してんの?
384:354
07/05/13 01:24:02
>>379
まったくもって情けないです
バイナリ指定したつもりがしてませんでした
ちゃんと動作しました
お騒がせしました
385:デフォルトの名無しさん
07/05/13 01:25:07
>>380 >>381
おまえらうるせーよ?お前が一番うっとうしい、士ねよ馬鹿
質問に答える気がないなら来るなよ。ほかにレスしている奴の邪魔なんだよクソガキ
何歳だお前?なぁ?士ねよ馬鹿w
ふぁびょってんのはお前だろ。他人にファビョってんじゃねーよとか言っておきながらwwwww
380 名前:デフォルトの名無しさん 投稿日:2007/05/13(日) 01:21:23
>>374
オマエのトラウマなんかどうでもいいよ
オマエのトラウマなんかどうでもいいよ
オマエのトラウマなんかどうでもいいよ
オマエのトラウマなんかどうでもいいよ
↑それお前だろ。お前の場合はウマシカだがw
381 名前:デフォルトの名無しさん 投稿日:2007/05/13(日) 01:21:24
>>374
火病ってんじゃねーぞ
・ >365 が元質問者を叩いているという事実認識がまず脳内
・ 自分が >365 を叩いてる事実を放置
・ 自分の主観が「普通」と勝手に定義
どっちが基地外かは火を見るより明らか
・ >365 が元質問者を叩いているという事実認識がまず脳内
自分のレス読み返せ基地外。
・ 自分が >365 を叩いてる事実を放置
はぁ?なんで?叩いた覚えありましぇ~~ん、ちゃんとできたと答えたけど?
いつ俺が叩いたか、参照レスきぼんぬ。ってか、俺を特定できないから無理だろうけど
俺は叩いていないし
386:デフォルトの名無しさん
07/05/13 01:25:53
>>383
そうやっていないのに特定の人物をどうこう言い始めるだろ?
お前もうそれで名誉毀損だよ。亡羊さんに通報しとくねw
覚悟しとけよ
387:デフォルトの名無しさん
07/05/13 01:27:09
釣れてますねw
388:デフォルトの名無しさん
07/05/13 01:27:18
>>386
亡羊ってだれだよ。
389:デフォルトの名無しさん
07/05/13 01:27:40
>>358 >>358 >>358 >>358 >>358 >>358 >>358 >>358 >>358 に問う
なんではっちゃだめなの?理由は?お前の気まぐれとか、気分とかだったらまずお前がただの馬鹿だと言う結論しか出ないから。
参考にできるページがあったら使う、別になんら問題ないし、そのページには間違った記述はされてないよ。
まぁ、たぶん亡羊を嫌っている誰かだろ。特定できそうだから、亡羊さんに聞いてくるわ。
どうせプロになれなかったボケグラマーだろw
390:デフォルトの名無しさん
07/05/13 01:29:54
>>388
>>358 >>358 >>358 >>358 >>358 >>358 >>358 >>358 >>358 参照w
言ったのは俺じゃないから。正しくは望洋だから。ANSI、ISO準拠を重視した本の出版をしているし
そんじょそこらの知ったかプログラマーと比べたらかなりまともな人だろうね。
他人を叩くような奴って、世界基準すら知らなさそうで視野が狭そうだなw
int mainについても理解してなさそう(どこぞのスレで議論になったが、ISOの参照ページを出したら
尻尾を巻いて逃げたけどなw)
391:デフォルトの名無しさん
07/05/13 01:32:00
>>俺を特定できないから無理だろうけど
↑
これがこいつの心理だろうなw
392:デフォルトの名無しさん
07/05/13 01:32:30
>>381
> ・ 自分の主観が「普通」と勝手に定義
はい?自分の主観で言った覚えはありませんけど?
ちゃんとバイナリィエディタで 0D 00 00 00 が書き込まれているのを確認しましたが何か?
質問者が何で書き込まれた値を確認したか聞いたのに、どうして俺が 主観 となるんでしょうか?
正確にお答えをして下さい。でなければ偽証罪で通報しますよ?証人喚問は怖いですよぉ~~
393:デフォルトの名無しさん
07/05/13 01:33:35
>>391
ぷぷっ、そういうところにしかもう反応できない肝っ玉の小さいクズ乙w
こういう匿名(実際のところは完全に匿名ではない)ところでしか強がれないボケ
他人の粗探しを必死こいてするくせに、自分の落ち度をまったく認めない井の中の蛙乙w
394:デフォルトの名無しさん
07/05/13 01:34:33
ここまで望洋さんに肩入れできるのはある意味すごいと思った。
395:デフォルトの名無しさん
07/05/13 01:35:51
質問者の答えに答えるどころか お前何やってんだよ としか言わない奴はとっととこのスレから
出て行ってくれませんか?うっとうしいんだよ、答えもしないくせに相手のボロを探すだけの馬鹿
396:デフォルトの名無しさん
07/05/13 01:35:52
>>389
特定できたら家にきてくれよ。酒くらいは出してやる。
397:デフォルトの名無しさん
07/05/13 01:40:30
もう眠い。寝る。
398:デフォルトの名無しさん
07/05/13 01:41:01
どうぞ。
399:デフォルトの名無しさん
07/05/13 02:02:29
望洋信者って怖いな
400:デフォルトの名無しさん
07/05/13 02:04:43
いつの間にか信者になっているしw
参照できるライブラリのページを出しただけだろ。亡羊を狙った覚えはない
401:デフォルトの名無しさん
07/05/13 02:44:13
なんだ、まだやってたんだ。暇な人はこれだから……
402:デフォルトの名無しさん
07/05/13 05:37:00
他人の粗探しをしている奴がきんもぉ~♪だよな。指摘するならするで
間違いを指摘すりゃ良いだろ。気持ち悪いよ、お前それわかってねーなって
ネチネチ煽る奴。日頃、まともな人付き合いがないからこういう捻くれた
相手を見下して自分が優位な立場だと思い込みたい引きこもりなんだろうね
403:デフォルトの名無しさん
07/05/13 05:45:51
>402
自己紹介乙
404:デフォルトの名無しさん
07/05/13 06:14:59
>>403 反応したお前ノナー
405:デフォルトの名無しさん
07/05/13 06:15:32
>>403=昨日、つまらないミスを気持ち悪く指摘して煽っただけの知ったかバカ
406:デフォルトの名無しさん
07/05/13 07:01:27
亡羊?
ボコボコにしてやんよ
∧_∧
( ・ω・)=つ≡つ
(っ ≡つ=つ
/ ) ババババ
( / ̄∪
407:質問者
07/05/13 08:52:04
きのうはお騒がせしました。
「演算子を使わない」とは、四則演算のことです。
ビット演算で何とかできないかな?と思いましたが。どうでしょうか?
408:デフォルトの名無しさん
07/05/13 10:27:06
#include <stdio.h>
#include <string.h>
int main(void) {
char *name[12] = {"Mutsuki","Kisaragi","Yayoi","Uzuki",
"Satsuki","Minazuki","Fuzuki","Hazuki",
"Nagatsuki","Kannazuki","Shimotsuki","Shiwasu"};
char **p;
int i;
p = name;
for(i = 0;i < 12;i++){
printf("%2d月:%s(%d)\n",(i + 1),strlen( *p ),*p); /* ① */
printf("%2d:%s\n",strlen(*p),*p); /* ② */
++p;
}
return 0;
}
今、ポインタのポインタを使って文字数を数える練習問題やっているのですが
①のprintf文を実行するとDos窓が強制終了してしまいます。
デバックの時にエラーは出ないのですが・・・なにが間違っているのでしょうか。
②の方は普通に出力できます。
Visual C++ 2005 Express Editionを使っています。
409:デフォルトの名無しさん
07/05/13 10:38:24
>>407
コンピュータサイエンスの基礎をやれ。
四則演算を論理素子でどうやって実現するか知れば
くだらない疑問を抱かずにすむ。
410:デフォルトの名無しさん
07/05/13 11:02:22
>>408
printf("%2d月:%s(%d)\n",(i + 1),strlen( *p ),*p);
%2d = i+1
%s = strlen(*p) ←
%d = *p ←
411:デフォルトの名無しさん
07/05/13 11:08:34
どうやって、論理素子で計算するんですか。
16進数に置き換えてするんだとは思いますが、すごく疑問です。
2×4=8とか、8÷2=4を論理素子で計算する。
すごく難しいと思います。
412:408
07/05/13 11:15:59
>>410
あああ!逆だった
ありがとうございます!
413:デフォルトの名無しさん
07/05/13 11:36:28
>>411
本屋に行って"CPUの仕組み"みたいな本買ってこい
あとは加算器で調べてみるとか
414:デフォルトの名無しさん
07/05/13 11:47:10
>>411
2 << 2
8 >> 1
415:デフォルトの名無しさん
07/05/13 12:40:23
剰余はどうするんすか?
スタック使って割られる数-商*割る数って演算するんですか?
416:デフォルトの名無しさん
07/05/13 13:43:31
ファイル操作のとこでreturn(-1);の意味がさっぱり。
417:デフォルトの名無しさん
07/05/13 14:57:20
>>415
掛け算と割り算は加減算で表現できるだろ
単純に何回も引いていって引けなくなればそれが余り
2進数で桁上がり下がりフラグ使って同じようにやればできる
筆算で(2進数)割り算やるときとほとんど同じ あとは本買って嫁
>>416
return(-1);はよくエラーチェックに使う
-1が返ってきたらファイル開けなかったということになってるとおも
418:デフォルトの名無しさん
07/05/13 14:58:24
変数を使わずに1+2の計算結果を出すにはどのようなプログラムを組めばいいのでしょうか
419:デフォルトの名無しさん
07/05/13 15:04:32
printf("%d",1+2);
420:デフォルトの名無しさん
07/05/13 15:04:42
>>418
こういうこと?
printf("%d\n", 1 + 2);
421:デフォルトの名無しさん
07/05/13 15:05:48
演算子、変数と来たから次は何だろう
422:デフォルトの名無しさん
07/05/13 15:06:39
関数を使わずに(ry
423:デフォルトの名無しさん
07/05/13 15:08:56
C言語を使わずに(ry
424:デフォルトの名無しさん
07/05/13 15:10:33
頭を使わずに(ry
425:デフォルトの名無しさん
07/05/13 15:20:20
>>417ありがとうございます
426:デフォルトの名無しさん
07/05/13 15:35:27
30年とか表示するとき
int a;
a = 30年;
printf("%d",a);
でやると、年が邪魔っぽくて表示されない
どうやればいいの~?
427:デフォルトの名無しさん
07/05/13 15:37:35
printf("%d年", a);
428:デフォルトの名無しさん
07/05/13 15:39:42
表示以前にコンパイルできないのでは????
429:デフォルトの名無しさん
07/05/13 15:40:53
>>428
だから結果として年が邪魔で表示されないんだろう。初心者苛めんな。
430:デフォルトの名無しさん
07/05/13 15:41:45
せめて教科書読めよっていう質問ばっかりきてるなぁ
431:デフォルトの名無しさん
07/05/13 15:47:30
とうとう>>424の問題が出てきたか
432:デフォルトの名無しさん
07/05/13 16:04:10
一般的な入門書やりおわったけど、次はどんなステップを踏めばいいですか?
433:デフォルトの名無しさん
07/05/13 16:05:13
>>432
目標は何?
434:デフォルトの名無しさん
07/05/13 16:07:29
自分一人で基礎知識の応用が出来るようにすることかな。
処理速度とかも視野に入れた上で。
なんかテキトーに自作ツール作ってみるとか。
435:デフォルトの名無しさん
07/05/13 16:08:14
>>434は>>432へのレス
436:デフォルトの名無しさん
07/05/13 16:09:20
>>432
この世界は片っ端から全部覚えてたらキリがないから
ちゃんと自分がなにをやりたいのか見定めて進んで行かんと、
無駄に多大な労力を費やすことになるぞ。
437:デフォルトの名無しさん
07/05/13 16:09:22
作りたいもん作ればいいと思うぜ
438:デフォルトの名無しさん
07/05/13 16:12:40
>>434
自分で C のプリプロセッサでも作ってみたら?
確か以前、"未踏"でも採択されたことがあったはず。
439:デフォルトの名無しさん
07/05/13 16:33:39
Socket,データベース,文字列処理(正規表現含む)
これらができると幅がぐっと広がる…っていうか基本
後はアイデア次第
440:デフォルトの名無しさん
07/05/13 16:34:35
かなり意欲はあるのですが…やはりいろいろとオリジナルのアプリケーション・ソフトウェアを作ってみたいです。やはりそーゆー本を買っていろいろやってみるべきですか?
441:デフォルトの名無しさん
07/05/13 16:36:13
本を買う必要はないが、色々やってみるべきだろう。
442:デフォルトの名無しさん
07/05/13 16:38:52
>>439の中でまず文字列処理からやってみては?
とっつきやすいと思うよ。
ネットにも入門サイトとかいっぱいあるし。
443:デフォルトの名無しさん
07/05/13 16:41:18
入門書に文字列処理についての事が無かった様に思うのでお聞きします。文字列処理は初耳です。
444:デフォルトの名無しさん
07/05/13 16:42:23
>>440
作りたいものがあるならさっさと作ってみるのが吉
やってるうちに技術もついてくる
445:デフォルトの名無しさん
07/05/13 16:44:04
>>443
>入門書に文字列処理についての事が無かった様に思うのでお聞きします
strcpy() も文字列処理だと思うが?
446:デフォルトの名無しさん
07/05/13 16:44:16
現実問題Cで作るべきアプリなんて存在しないのが辛いな
447:デフォルトの名無しさん
07/05/13 16:45:51
みなさんご親切に…大変ありがたいです。ちなみに、みなさんはどのようなプロセスで、今のC言語のプログラミング力まで力を伸ばされたんですか?簡易的に話して頂けたらいいのですが…
448:デフォルトの名無しさん
07/05/13 16:47:17
ゲームプログラミングをやってみては?
囲碁・将棋・チェス・オセロとかね。
Cで作るのが最適。
449:デフォルトの名無しさん
07/05/13 16:50:23
>>447
宇宙からの電波
>>448
オセロなら6行で作ってた神がいたな
450:デフォルトの名無しさん
07/05/13 16:51:01
>>448 やはりそうしようかなと思います。Cで作るべきアプリケーションがそんなに存在しないようならば
451:デフォルトの名無しさん
07/05/13 16:51:53
自分は将棋が趣味で、自分より強い将棋プログラムを作ろうという目標があったから勉強した。
将棋プログラムってハッシュテーブルとかリストとかソートとかビット演算とか、
基本的なアルゴリズムが各所にちりばめられてるから勉強にはいいテーマだと思う。
452:デフォルトの名無しさん
07/05/13 16:52:40
>>450
>Cで作るべきアプリケーションがそんなに存在しないようならば
これって、どういう意味だと思っている?
453:デフォルトの名無しさん
07/05/13 16:56:43
>>452 C言語にはその点ではあまり需要がないものかと…
454:デフォルトの名無しさん
07/05/13 16:57:15
>>450
あとはOSに興味あるならLinuxのソース読んでみるとか
学ぶのは自分で作ってみたり本読むか知っている人に聞く
プログラミング力のうちの知識はそれで十分だが英語できるかどうかで
足りない知識の吸収率が変わってくる(最先端の知識・アルゴリズムなど)
あとは経験で補えるが数学力のあるなし(知識じゃなく頭良いかどうか)
でどこまで伸びるかが変わる
455:デフォルトの名無しさん
07/05/13 17:06:48
勉強のためにCの勉強してるなら
標準ライブラリのクローン(strcpy, strcat, printf, ...)と
UNIX系コマンドラインツール(cp, tail, head, sort, ...)のクローンを片っ端から作っていくと勉強になる。
サイズも小さいし、答え合わせ用のソースコードも(あまり初学者向けとは言いがたいが)あるし。
まあほとんど糞つまらん苦行に近いがコーディングは楽しいし一番無駄がないだろう。
456:デフォルトの名無しさん
07/05/13 17:08:09
うーん、自分はまだ、配列、構造体、ポインタ、ファイル操作、関数の作り方、変数、if文、switch文、for文、while文、をやってきたとゆう感じです。
457:デフォルトの名無しさん
07/05/13 17:10:47
>>456
じゃ、もう少し実践的な奴やってみたら?
URLリンク(www.kumei.ne.jp)
とか参考にしてウインドウ開いてみたりさ。
458:デフォルトの名無しさん
07/05/13 17:15:36
バブルソートを用いて
構造体に対して、データが格納された構造体配列を
学生証番号で降順にソートする関数sortIDと
点数で降順にソートする関数sortEngを作成しなさい。
データの入力は、関数input_seiseki_pを呼び出して行い、
次に「どちらで整列しますか(1:学生証番号、2:点数):」と表示し
その入力により関数sortIDと関数sortEngを選択肢、その結果を
関数seisekiを使って表示する関数meinを作りなさい
上記の問題において私なりに途中まで作ってみたのですが、
ここから先がわかりません。。
どなたかお知恵を拝借させて下さい
URLリンク(kansai2channeler.hp.infoseek.co.jp)
↑途中まで作ったソースです。
よろしくお願いします。
459:デフォルトの名無しさん
07/05/13 17:17:41
もういっかい違う入門書を買ってみろってことですか?
460:デフォルトの名無しさん
07/05/13 17:40:37
>>458
どこがどうわからないのかkwsk
学校とかのレポートなら解答出すわけにいかんし
>>459
>>457じゃないがおまえちゃんと>>457のリンク先見てみたのか?
簡単なデータペースやゲームの作り方も内容にあるだろ
それとも全部わかってるのかこの内容?
461:デフォルトの名無しさん
07/05/13 17:47:38
まぁ、猫が妥当かどうかは問題だがな。
462:デフォルトの名無しさん
07/05/13 17:48:44
ちゃんと見てませんでした。ごめんなさい。
463:デフォルトの名無しさん
07/05/13 18:10:29
URLリンク(www.geocities.jp)
のページにあるローレンツのプログラムをコンパイルしようとしたのですがエラーがでて出来ませんでした
開発環境に問題があると思うのですが、原因がよくわからないのでご教授願います
windowsXPでソフトは「C言語を始めよう!」、コンパイラはBorland C++ Compiler 5.5です
そのままコピペしてコンパイルするとエラーメッセージが(rktest.cはファイル名)
------ コンパイル開始 ------
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
rktest.c:
エラー E2140 rktest.c 17: ここでは宣言はできない(関数 main )
警告 W8057 rktest.c 57: パラメータ 't' は一度も使用されない(関数 f1 )
警告 W8057 rktest.c 57: パラメータ 'z' は一度も使用されない(関数 f1 )
警告 W8057 rktest.c 66: パラメータ 't' は一度も使用されない(関数 f2 )
警告 W8057 rktest.c 75: パラメータ 't' は一度も使用されない(関数 f3 )
*** 1 errors in Compile ***
------ コンパイル終了 ------
と出ます
スレ違いのような気がしますが、該当スレが見つからなかったのでここで質問させていただきました
464:デフォルトの名無しさん
07/05/13 18:18:13
>>463
そのコードはANSI Cに準拠していない。
FILE *output; の行を main 関数の先頭に持ってくるといいよ。
465:デフォルトの名無しさん
07/05/13 18:39:02
4つくらいのデータを1つのノードとして
そのノードを2二次元配列の1文字分のように扱いたいんですけど、
構造体を設定して
strcut ABC{
char
char
char
};
struct ABC data[][];とできますかね?
466:デフォルトの名無しさん
07/05/13 18:40:59
struct ABC data[ ][ ];です
467:デフォルトの名無しさん
07/05/13 18:41:17
なんでやってみないの?
468:デフォルトの名無しさん
07/05/13 18:42:18
いややったんだけどセグメンテーションエラーだから
無理なのかと。
469:デフォルトの名無しさん
07/05/13 18:44:16
>>468
コンパイルできないはずだけど
470:デフォルトの名無しさん
07/05/13 18:45:21
>>469
どういう意味ですか?
471:デフォルトの名無しさん
07/05/13 18:46:05
>>468
コード貼ってみろよ。中途半端に省略しないで。
472:463
07/05/13 18:47:21
>>464
回答ありがとうございました
警告は消えませんでしたが、エラーが消えて無事コンパイルすることができました
この警告は無視しても問題ない範囲なのでしょうか?
原因を把握していらっしゃるのでしたらお伺いしたいのですが
473:デフォルトの名無しさん
07/05/13 18:48:14
>>472
使ってない仮引数を教えてくれてるだけ。無視しても問題はない。
474:デフォルトの名無しさん
07/05/13 18:49:44
>464
コンパイラがANSI Cに対応してないんでねーの?
475:463
07/05/13 18:50:31
重ね重ねのご親切ありがとうございました
476:デフォルトの名無しさん
07/05/13 18:51:37
>>474
ANSI Cでは変数はブロックの先頭のみで宣言できる。
bccはANSI準拠。
477:デフォルトの名無しさん
07/05/13 18:54:07
struct ABC
{
char name[10];
char initial[10];
char home[10];
};と構造体を設定
struct ABC data[10][10];
int i,j;
for(i=0;i<10;i++){
for(j=0;j<10;j++){
strcpy(data[i][j].name,NULL);
strcpy(data[i][j].name,NULL);
strcpy(data[i][j].name,NULL);
}
}
一部ですけども、その二次元配列の中身の全ての各部門の初期化をしたいのですけど
この時点でセグメンテーション違反がおきるわけです。
478:デフォルトの名無しさん
07/05/13 18:55:21
strcpy(data[i][j].initial,NULL);
strcpy(data[i][j].home,NULL);です
479:デフォルトの名無しさん
07/05/13 18:57:10
馬鹿だろ。
strcpy(data[i][j].name, "");
480:デフォルトの名無しさん
07/05/13 19:04:35
>>479
ありがとさん
481:デフォルトの名無しさん
07/05/13 19:07:04
まあ
data[i][j].name = '¥0';
ってやった方がいいとは思うけど初期化だから別にいいか。
482:デフォルトの名無しさん
07/05/13 19:07:45
うわ。間違い
data[i][j].name[0] = '¥0';
こう
483:デフォルトの名無しさん
07/05/13 19:54:50
大学でC言語を習っています。
ifやforといった基本的なことは理解しているつもりである程度プログラムは書けます。
今、アルゴリズムの授業を受けているのですがポインタや構造体が理解できません。
参考書に載っているソースを自分で打ち込んで実行したり、少し変えたりしているのですがどうも暗記っぽくなっています。
そのため「○○をポインタと構造体を利用して作れ」と言われても何からしたらいいかわからない状態で。
ポインタや構造体はC言語で一番重要と言われているので是非自分のものにしたいです。
皆さんはどうやってポインタや構造体を理解していきましたか?
484:デフォルトの名無しさん
07/05/13 19:57:33
サンプルコードをいくつか読めばそれで理解できた。
485:デフォルトの名無しさん
07/05/13 20:10:22
使ってりゃ理解できた
486:デフォルトの名無しさん
07/05/13 20:11:48
>>483
わからないところは図を描いて理解。
デバッガで全変数表示してつながり・変化を確認。
487:デフォルトの名無しさん
07/05/13 20:12:40
くそなげえプログラム書いてたら飯なんてどうでも
よくなって4時間経過w
488:デフォルトの名無しさん
07/05/13 20:30:41
さっき構造体での二次元配列はどのようにすればいいのかを聞いたものですけど
その二次元配列data[i][j]において
1行さすのはdata[i]でいいのはわかるのですけど
1列をさすのはどうおけばいいですかね?
489:デフォルトの名無しさん
07/05/13 20:44:39
基礎からやり直せ
490:デフォルトの名無しさん
07/05/13 20:46:59
>>488
列は無理。
491:デフォルトの名無しさん
07/05/13 20:47:08
>>488
メモリの配置を想像してみろ。
列は分断されていて連続したメモリとしてアクセスする方法はない。
492:デフォルトの名無しさん
07/05/13 20:57:08
>>483
ポインタのイメージがつかめない場合はその都度アドレスと中身を表にして書いて理解
ポインタpのpと*pと&pの違い,あるいは変数aのaと*aと&aの違いが
わかっていれば大丈夫のはず
なぜポインタが必要かっていう設計思想を知りたければアセンブラとかを
学んでみるといいいかも
>>488
他の言語なら実装されてたりするけど
C言語ではそういう便利な機能は基本的に用意されてない
493:デフォルトの名無しさん
07/05/13 23:12:11
転職してプログラマになりたいんだ。
そのためにCとC++をマスターしたいんだが…。
それで今は一応C言語の基礎を終わらせたんだけど
C言語で関数やアルゴリズムやAPIなども覚えてから
C++行ったほうがいいのかな?
それとも先にC++でオブジェクト指向とか把握してから
いろんなこと手を出した方が良いかな?
494:デフォルトの名無しさん
07/05/13 23:15:29
さっさとC++池
今時Cなんてほとんど使わないからC++からCのコードを利用する際の最低限の知識さえあれば十分。
495:デフォルトの名無しさん
07/05/13 23:16:05
ぶっちゃけ経験年数のが大事。
マの真っ当な評価なんてマ以外に出来るわけがないんだから。
496:デフォルトの名無しさん
07/05/13 23:22:16
あらためてアルゴリズムを考えてみると
その列であてはまるのは1つだから
列指定にしなくてよかった。
497:デフォルトの名無しさん
07/05/13 23:23:21
>>494
Cは使わないのか
じゃC++の勉強にいこうかな
まだCでコードとか書けないけど大丈夫かな・・・
>>495
年齢が30前後とかだと未経験じゃプログラマになるの難しいかな?
498:デフォルトの名無しさん
07/05/13 23:29:01
>>497
おまいさんはマ板にお逝き。
499:デフォルトの名無しさん
07/05/14 00:00:23
>>497
どんなプログラムの仕事がしたくてどんな会社かによる
なんか実用的(ゲームでもいい)なプログラムひとつでも組んでると
就職のときにアピールにはなる
とりあえずマ板へ池
500:デフォルトの名無しさん
07/05/14 01:50:07
プログラムの処理がどの程度完了しているのかを示すことを試みたのですが,
うまくいきませんでした.具体的には,以下のことをしました.
#include<stdio.h>
int main(){
int i, j;
for(j=0; j<10000; j++){
for(i=0; i<100000; i++){
}
if((j%1000)==0)printf("*");
}
printf("\n");
return(0);
}
j が10000ループされますが,1000ループごとに * を1つ出力し,
* が10個になったら処理完了を知らせるというものです.
上のソースコードのようにしてみたところ,j のループを出てから
* が10個同時に表示されてしまいます.
どのように書けばよいのでしょうか?お願いします.
501:デフォルトの名無しさん
07/05/14 02:02:37
>500
ちゃんとjのループの途中で*が表示されてるけど?
ただ、1000個ごとなら(i%j)==999だろう。
502:デフォルトの名無しさん
07/05/14 02:07:08
バッファフラッシュしなきゃいけないとかそーいう問題じゃないの?
環境は?
503:デフォルトの名無しさん
07/05/14 02:09:42
ANSI C準拠だったら整数の範囲って32767までじゃなかった?
504:デフォルトの名無しさん
07/05/14 02:16:56
>>500
for(i=0; i<100000; i++){
i 使って無いじゃんwwww
ワロタw
505:デフォルトの名無しさん
07/05/14 02:18:50
int に10000も入れれませんwww
基本からやり直せよwww
506:デフォルトの名無しさん
07/05/14 02:19:42
>>500
if((j%1000)==0){ printf("*"); fflush(stdout); }
という話か?
507:デフォルトの名無しさん
07/05/14 02:20:26
>>504-505
釣りにしても ひどい
508:デフォルトの名無しさん
07/05/14 02:22:24
C とC++ の違いを分かってない人がいっぱいいるので一応書いておく
Cの構造体には変数しか設定できないのですが
C++は構造体の中に関数を入れれます。それがクラスって呼ばれるものです
C++でヤリなされw
509:デフォルトの名無しさん
07/05/14 02:23:17
何かの処理の進捗状況を表示する部分について質問してるんでしょ。
単にその処理の部分は省略しただけなんじゃないか?
510:500
07/05/14 02:25:02
>>501-508
レスありがとうございます.
>>502さん及び>>507さんのもので,求めていた結果を得ることが出来ました.
これからfflushをググってみます.
>>504-505が釣りかどうかすら分からない自分が悔しいです.
勉強に励みます.ありがとうございました.
511:デフォルトの名無しさん
07/05/14 02:26:59
進捗状況ってさ
ソースに
printf("処理○○終わり");
って書いていけばいいんじゃないの?
完成したら消せばいいわけだし
512:デフォルトの名無しさん
07/05/14 02:28:26
だからfflushはだめだってw
513:デフォルトの名無しさん
07/05/14 02:30:15
ほかっとけ
初心者だぞ相手はwww
514:500
07/05/14 02:31:20
>>509
実際は処理内容が含まれますが,それとは別に処理内容を全部消したもの
(>>500そのもののソースファイル)を作成して実行しても * が一度に出力された
ので質問をしにきました.
>>511
1試行で数分かかる繰り返し計算処理なので,何%終了したのかを概数でも
良いから表示させたかったのです.
>>512
駄目なのですか??
515:デフォルトの名無しさん
07/05/14 02:32:26
マロックにサイズオブ使わずそのまま数字書いてるとか
goto使いなんだろうよ
516:デフォルトの名無しさん
07/05/14 02:33:37
>>514
目的が達成できたんならそれで問題ないよ
環境依存だから、他の環境に持っていくことがあるなら問題だけど
517:デフォルトの名無しさん
07/05/14 02:34:10
つうかさ
関数の再帰使わなかったら 処理スピードなんか大して変わらんよ
何千万行でも数行でも・・・
518:500
07/05/14 02:37:48
>>516
今の環境のみで動かすものなので
これで大丈夫です.皆さん,ありがとうございました.
519:デフォルトの名無しさん
07/05/14 02:50:38
お ま い ら 難 し く 考 え す ぎ
520:デフォルトの名無しさん
07/05/14 02:58:24
>>508
クラスの肝は派生できる事。
派生無しにクラスを語っても意味がない。
521:デフォルトの名無しさん
07/05/14 03:01:07
C++はスレ違い
522:デフォルトの名無しさん
07/05/14 03:05:30
>>516の言ってる環境依存ってfflushの事か?
確かに入力ストリームに対するfflushは未定義動作だが
出力ストリームに対しては正常に機能したと思うが違ったか?
523:デフォルトの名無しさん
07/05/14 03:08:10
お前ら
もう質問者はいなくなったぞw
524:デフォルトの名無しさん
07/05/14 03:16:47
rand()で作った変数を
for()等でループにかけることって
実際問題 どうゆう場合ですか?
525:デフォルトの名無しさん
07/05/14 03:17:47
頭の悪い質問に頭の悪い回答者
このスレほんとゴミ化したな・・・
526:デフォルトの名無しさん
07/05/14 03:23:18
>>512
中途半端な知識でゴミ回答するんじゃないよ
527:デフォルトの名無しさん
07/05/14 03:30:23
じゃあ 頭のいい質問しましょw
関数のポインタと、配列のポインタ等の置き場が勝手に割り付けられると聞いたのですが
実際はどのように割り付けてるんですか?
出来ればコンパイル自体のソースをもちいて答えていただきたいと思います
528:デフォルトの名無しさん
07/05/14 03:31:25
>>524
質問の意味がよく分からんが
10体の敵がそれぞれランダムに動く場合とか?
529:デフォルトの名無しさん
07/05/14 03:32:34
>>527
メモリの話か?
530:デフォルトの名無しさん
07/05/14 03:33:24
>>527
ポインタの置き場って何?
コンパイル自体のソースって何?
531:デフォルトの名無しさん
07/05/14 03:34:03
おーい!機械語読める奴探してるらしいぞw
532:デフォルトの名無しさん
07/05/14 03:34:55
メモリの割付だおw
533:デフォルトの名無しさん
07/05/14 03:39:15
よーわからんな
関数が置かれるアドレスの話か? なぜそこでポインタが出てくるんだ?
配列も置かれるアドレス? なぜ普通の変数じゃなくてわざわざ配列?
ローカルとグローバルによっても違うし
もうちょっと問題を整理してくれんか
534:デフォルトの名無しさん
07/05/14 03:47:40
>>527
そんなもん環境依存だろ・・・
535:デフォルトの名無しさん
07/05/14 03:49:24
【内容】浮動小数点型(float、double等)を使用せず整数型(int)のみを使用し
「√」計算を行える計算機を作る
【どこが分からないのか?】全部wごめん
【どうして欲しいのか】代わりにソースを書いて欲しい
536:デフォルトの名無しさん
07/05/14 03:51:40
宿題は帰れ。
最近の学校は開平も教えないから困る。
537:デフォルトの名無しさん
07/05/14 03:53:53
開平ってなんですか?
538:デフォルトの名無しさん
07/05/14 03:55:44
ググれ
539:デフォルトの名無しさん
07/05/14 05:58:55
>>537
波平の双子の兄さんだよ。
540:デフォルトの名無しさん
07/05/14 06:53:39
>>537
灘、駒場、麻布と並ぶ名門です。
541:デフォルトの名無しさん
07/05/14 09:26:01
C >>>>>>>>>>>>>>>>> C++
C++は究極の中途半端言語
542:デフォルトの名無しさん
07/05/14 09:40:57
C++に挫折したそうです
543:デフォルトの名無しさん
07/05/14 13:59:59
>>535
intしか「√」内に入らないということでよろしいか?
544:デフォルトの名無しさん
07/05/14 14:01:04
>>543
お前意味が分からんw
整数しか入らないか?って聞けよwww
545:デフォルトの名無しさん
07/05/14 14:07:39
一番簡単な整数「9」を計算し「3」を出すプログラムを作りソースを書け
話はそこからだw
546:デフォルトの名無しさん
07/05/14 14:48:06
そのまえにルートがなんなのか学んだほうがいいw
547:デフォルトの名無しさん
07/05/14 14:58:35
>>535
確認だが正整数の間違いじゃないか?
そうでないとしたら複素数使わんと駄目だぞ
548:デフォルトの名無しさん
07/05/14 15:00:21
0でも問題ないだろ。
549:デフォルトの名無しさん
07/05/14 15:00:56
出題者がアホなのか質問者がアホなのか。
後者だろうけど。
550:デフォルトの名無しさん
07/05/14 15:01:52
宿題野郎にヒントなんて与えなくていいよ。
551:デフォルトの名無しさん
07/05/14 15:02:58
負数を与えたら死ぬようにすりゃいいじゃん。
552:デフォルトの名無しさん
07/05/14 15:03:41
>>548
おまえひょっとして-9は整数に入らないとか思ってないよな?
553:デフォルトの名無しさん
07/05/14 15:04:17
>>552
0は正整数に入らないと思ってる。
554:デフォルトの名無しさん
07/05/14 15:04:54
>>552
おまえひょっとして0は正整数入るとか思ってないよな?
555:デフォルトの名無しさん
07/05/14 15:06:58
負数が入っても絶対値の平方根に i つけりゃいいだけじゃん。
556:デフォルトの名無しさん
07/05/14 15:11:16
おk 言い直し 非負整数でおk
557:デフォルトの名無しさん
07/05/14 15:14:10
誤爆にレス付けてるアホどもってよっぽどやることがないんだね。
558:デフォルトの名無しさん
07/05/14 15:15:51
つか整数か非負整数いずれにしてもなんで出題者はそんなのに限定してるんだ?
実数じゃなにか問題があるのか?
559:デフォルトの名無しさん
07/05/14 15:17:35
ヒント:宿題
560:デフォルトの名無しさん
07/05/14 15:20:01
>>557
どのレスが誤爆なんだ?
ちょっとよく分からん
561:デフォルトの名無しさん
07/05/14 15:22:14
宿題スレのテンプレに似てると思ったんじゃないか?
562:デフォルトの名無しさん
07/05/14 15:30:15
宿題スレってはじめて見てみたがひどいな
写し放題じゃねーかwwww
先生は宿題スレもチェックしとくべきだなw
563:デフォルトの名無しさん
07/05/14 15:34:55
してるんじゃない?
そうでなくとも、まったく同じ答えが複数きてたらばれるだろう
564:デフォルトの名無しさん
07/05/14 15:38:04
教授からここの宿題スレを使うなと警告が来た例もあるらしいよ
565:デフォルトの名無しさん
07/05/14 15:40:44
そういうことするやつってそのへんは抜かりなくて少し変えてたりする
普段の態度や小テストで理解度見てたらだいたい自分でやったかどうか想像付くんだけど
さすがに人数多いといちいちチェックするのはめんどくさいw
院生に採点まかせっきりだったりもするからな
566:デフォルトの名無しさん
07/05/14 15:41:00
うざい
567:デフォルトの名無しさん
07/05/14 15:43:56
でも先輩友人の繋がりで写すのはどこでも常態化してるだろ。
それのネット版だ。
大してかわらんだろ。
568:デフォルトの名無しさん
07/05/14 17:37:23
char a[5] = "unko"
どこにNULLが入っていますか?
6個目?
569:デフォルトの名無しさん
07/05/14 17:38:08
何でデバッガ使わないの?
570:デフォルトの名無しさん
07/05/14 17:42:01
>>568 |壁|д゚) あのさ 教科書きちんと読もうよ
NULLと¥0と0の違いをきちんと理解しろw
571:デフォルトの名無しさん
07/05/14 17:43:59
>>568
先頭を一個目と数えて五個目にNUL文字が入っている。六個目は存在しない。
572:デフォルトの名無しさん
07/05/14 17:44:58
NULL 値アドレスなし、値0、ポインタの値として使用できる
\0 値アドレスなし、値0
0 値アドレス有り、値0
573:デフォルトの名無しさん
07/05/14 17:51:17
値アドレスって何ですか?
574:デフォルトの名無しさん
07/05/14 17:52:04
イミフな空白はなんですか?
575:デフォルトの名無しさん
07/05/14 17:54:28
>>572
あなたはなにをいいたいんですか
576:デフォルトの名無しさん
07/05/14 17:55:53
>>535
問題の趣旨を考えてみたw
10/3を計算すると3.33333333333333333・・・・と続くが小数点以下が増えていけば4という端数が発生する
COBOLでやれよと言いたいwなぜにcでww
577:デフォルトの名無しさん
07/05/14 17:57:07
URLリンク(www.psl.ne.jp)
ちっちっち、なんか勘違いしていないかね?NULLポインタとNULL文字とはまた別物だよ?
578:デフォルトの名無しさん
07/05/14 18:08:59
>>577
出力形式が、紙への印刷しかなかった時代が有ることを説明しないと無理でしょw
579:デフォルトの名無しさん
07/05/14 18:12:36
>>578
いやいや、そうじゃなくて、NULLといってもポインタと文字とは別物だってことなんだが?
580:デフォルトの名無しさん
07/05/14 18:13:10
>>572
正確に言えば
NULL=値無し、アドレス有り
¥0 =値0 、アドレス無し
0 =値0 、アドレス有り
だけどねw
581:デフォルトの名無しさん
07/05/14 18:13:58
何で初心者が回答したがるんですか?
582:デフォルトの名無しさん
07/05/14 18:15:13
>>580 イミフw
アドレス無かったら値入れれませんがw
583:デフォルトの名無しさん
07/05/14 18:16:35
文字配列をNULLポインタに指定するのと、文字配列の中にNULL文字を入れるのとでは
ぜんぜん意味が違うということさ。前者はまだ文字列を指定するアドレスが指定されいない
何もないところを示しているが、後者は文字列の中にNULL文字だけでも入っていれば
空ではあるが文字列(の先頭)を示すアドレスは存在しているよん。
584:デフォルトの名無しさん
07/05/14 18:17:23
>>580
志村ーーー、上の2つのアドレスありなしは逆逆w
585:デフォルトの名無しさん
07/05/14 18:17:37
あの・・・
かなり前に関数で配列の数を数えたいといった(内積を計算したいと)ものなんですが
NULLになるまでcount++するというプログラムならいけるかなと思いまして。
ぬるぽっていうのは、char型のアドレス限定ですか?
586:デフォルトの名無しさん
07/05/14 18:19:29
そもそも「¥0」ってなんだ?
好意的に解釈して「\(バックスラッシュ)0」の心算なんだろうけど、
'\0'と書かないと意味を持たない希ガス。
587:デフォルトの名無しさん
07/05/14 18:20:34
>>580
アドレスの有無ってなんだよ
いかなる値でも記憶領域に属していればアドレスはあるし、
そうでなければアドレスはないだろ。
588:デフォルトの名無しさん
07/05/14 18:21:49
#include <stdio.h>
int main(void) {
char *a=NULL,*b={"\0"},*c={"0"};
printf("%p : %s \n",a,a);
printf("%p : %s \n",b,b);
printf("%p : %s \n",c,c);
return 0;}
これの出力結果を見れば一目瞭然だよ
589:デフォルトの名無しさん
07/05/14 18:26:10
>>588マジレス乙
590:デフォルトの名無しさん
07/05/14 18:29:13
>>588を実行すると、異常終了して1行も出力されません。
どうしたら一目瞭然になるんでしょうか。
591:デフォルトの名無しさん
07/05/14 18:30:33
>>590
とりあえずaを表示する部分を消して下の2つは確認できる?
592:デフォルトの名無しさん
07/05/14 18:31:00
>>590
ゴメンよ なぜか知らんがコンパイルできて出力できてしまったよw
593:デフォルトの名無しさん
07/05/14 18:32:46
>>588の出力結果は、俺んとこ(WinXP , BCC使用)でやったら
00000000 : (null)
0040A128 :
0040A12A : 0
っと表示された。
594:デフォルトの名無しさん
07/05/14 18:33:23
(nil) : (null)
0x80484cc :
0x80484ce : 0
595:デフォルトの名無しさん
07/05/14 18:34:16
>>585
ガッ
いや、char型のアドレスだけじゃなく他の型でもNULLはある。
charとかchar[]はNULL文字と深くかかわってるけどNULL文字とNULLポインタは全く別物。
NULL文字は文字列の最後に終端記号として置かれる物。
NULLはポインタがどこも指してない事を示す記号として色んな型のポインタ変数に入れられる物。
596:デフォルトの名無しさん
07/05/14 18:34:37
0x0 : (null)
0x402000 :
0x402002 : 0
597:デフォルトの名無しさん
07/05/14 18:42:21
こういうアホ連中がそのうち社会に解き鼻垂れるのかと思うと
陰鬱な気持ちになるな・・・
598:デフォルトの名無しさん
07/05/14 18:43:38
ヒント
int main(void)
{
printf("てすつ");
return NULL;
}
やってみようw
599:デフォルトの名無しさん
07/05/14 18:45:45
>>598
> return NULL;
いっ、いぃ~~のか?
600:デフォルトの名無しさん
07/05/14 18:46:08
コンパイルとおりませんでした。
601:デフォルトの名無しさん
07/05/14 18:47:09
$ gcc -xc -
#include <stdio.h>
int main(void)
{
printf("てすつ");
return NULL;
} ^D
<stdin>: In function ‘main’:
<stdin>:5: 警告: return makes integer from pointer without a cast
$ ./a.out
てすつ
$ echo $?
0
602:デフォルトの名無しさん
07/05/14 18:48:01
>>597=>>286
とか上からものを言っているあほなお前がすでに社会に出ている方が怖い
603:デフォルトの名無しさん
07/05/14 18:51:37
ヒント
マは人格障害者の宝庫w
604:デフォルトの名無しさん
07/05/14 18:52:38
俺に聞け スレで 俺に聞くなよ って態度は何様だよ?w
605:デフォルトの名無しさん
07/05/14 18:55:06
ここは初心者さんのスレだから、イイのw
【1】
#include <stdio.h>
void main(void)
{
printf("てすつ");
return NULL;
}
【2】
#include <stdio.h>
int main(void)
{
printf("てすつ");
return ;
}
【3】
#include <stdio.h>
void main(void)
{
printf("てすつ");
return ;
}
それぞれやってみよう
606:デフォルトの名無しさん
07/05/14 18:57:22
>>605
> やってみよう
何が目的?何が言いたい?はっきりしろ、うっとうしい
607:デフォルトの名無しさん
07/05/14 18:57:37
そういう阿呆なこと教えるから、阿呆プログラマが量産されるわけだ。
608:せんしぇ~ ◆cNsKLREitk
07/05/14 19:01:47
はい。
コンパイルのはじき方が理解できましたか?
609:デフォルトの名無しさん
07/05/14 19:02:46
我ら幼い人類に 目覚めてくれと 鼻垂れた~
610:デフォルトの名無しさん
07/05/14 19:10:28
>>608
もしかして、そういうの面白いと思ってる?
611:デフォルトの名無しさん
07/05/14 19:11:49
ぜんぜん
612:デフォルトの名無しさん
07/05/14 19:12:05
605 名前:デフォルトの名無しさん 投稿日:2007/05/14(月) 18:55:06
ここは初心者さんのスレだから、イイのw
【1】
#include <stdio.h>
void main(void)
{
printf("てすつ");
return NULL;
}
【2】
#include <stdio.h>
int main(void)
{
printf("てすつ");
return ;
}
【3】
#include <stdio.h>
void main(void)
{
printf("てすつ");
return ;
}
それぞれやってみよう
ここは初心者さんのスレだから、イイのw
ここは初心者さんのスレだから、イイのw
ここは初心者さんのスレだから、イイのw
それぞれやってみよう
それぞれやってみよう
それぞれやってみよう
それぞれやってみよう
613:デフォルトの名無しさん
07/05/14 19:25:59
>>608のが面白いとは思わないけど
>>612みたいなのも面白いとは思わない
614:デフォルトの名無しさん
07/05/14 19:28:09
>>613 自己擁護乙。お前つまんねっ、初心者を見ていらつくくらいなら
こんなスレに来るなよw お前みたいな気持ち悪い基地外に回答なんて求めてねーよボケ
俺は初心者じゃなくて回答する側だけどなw
615:デフォルトの名無しさん
07/05/14 19:29:07
んで、さっきっからこいつも何?せめて自分の使用環境くらい書けようぜぇ
600 名前:デフォルトの名無しさん 投稿日:2007/05/14(月) 18:46:08
コンパイルとおりませんでした。
590 名前:デフォルトの名無しさん 投稿日:2007/05/14(月) 18:29:13
>>588を実行すると、異常終了して1行も出力されません。
どうしたら一目瞭然になるんでしょうか。
616:デフォルトの名無しさん
07/05/14 19:31:21
んでさぁ、これって何の ヒ ン ト なの?なんについてのレス?
main関数の戻り値はintって指定してあるのに、NULL指定って何?ただのバカ?失せろ社会のクズw
598 名前:デフォルトの名無しさん 投稿日:2007/05/14(月) 18:43:38
ヒント
int main(void)
{
printf("てすつ");
return NULL;
}
やってみようw
617:デフォルトの名無しさん
07/05/14 19:31:27
>>614
どこがどう擁護してるのか分からないけど
言われて傷ついた?
そろそろwつけるの止めたほうがいいよ
618:デフォルトの名無しさん
07/05/14 19:32:40
>>617
はいっ、そうやって言い返さないと気がすまない=自分を自分で擁護して必死こいているのがバレバレ
なんすけど?擁護する必要すらない。お前みたいな奴は養護学校へ行けw
619:デフォルトの名無しさん
07/05/14 19:33:18
やっぱり最近ここ荒らしてるって
このwつけるやつだと思う
620:デフォルトの名無しさん
07/05/14 19:34:08
>>617
> 言われて傷ついた?
それお前だろ?お前が基地外だのこのスレには不要だのバカだの言われて
戦力外通告されて必死だな
621:デフォルトの名無しさん
07/05/14 19:34:26
>>618
面白くない