09/01/25 00:54:26
>>ポインタ変数があって、それには何かきまったアドレスがある
「それ」は、ポインタ変数を指示しているので、pのアドレスのこと、つまり、値としては、&pである。
これを変えるのは、難しい。アセンブリレベルでコードを書き換えてからコンパイルするか。バイナリをハックするか。
18:デフォルトの名無しさん
09/01/25 00:59:42
>>17 (・∀・)ニヤニヤ
19:デフォルトの名無しさん
09/01/25 01:00:57
>>17
アセンブリの段階で変数とか消滅してるけどな
20:デフォルトの名無しさん
09/01/25 01:01:18
変数じゃなくて変数名p
21:デフォルトの名無しさん
09/01/25 01:06:56
何この糞な流れ
22:デフォルトの名無しさん
09/01/25 01:10:06
もっとがんばろうぜ
23:デフォルトの名無しさん
09/01/25 01:30:26
while(c<11){
a=strcmp(pnt[b],pnt[c+1]);
if(a>0){
b=c+1;
}
c++;
}
エラーは起きないのにこのwhile文にだけ入らないみたい。
なんで??
ちなみにC=0です。
これ以外のどこかがおかしいから入らないのかな?
24:デフォルトの名無しさん
09/01/25 01:32:10
とりあえずc==0なのか出力して確かめろよ
25:デフォルトの名無しさん
09/01/25 01:39:38
>>23
whileに挿れる前の、初めてのcが11以下なのか、どうなのか?チェキして
26:デフォルトの名無しさん
09/01/25 01:39:57
>>24
あー。
何かいけたかも。
27:デフォルトの名無しさん
09/01/25 02:50:04
小数点の計算なんですけれど
int a = 130;
int b = 100;
double c;
c = a / b;
こうするとエラーが起こります。
よろしくお願いします。
28:デフォルトの名無しさん
09/01/25 03:16:05
エラーメッセージ書いて
29:デフォルトの名無しさん
09/01/25 03:16:15
>>27
ちゃんとcは1になると思うが、どういうエラーが起こるんだ
30:27
09/01/25 03:48:53
>>28
>>29
申し訳ないです。
bの値が0であったためエラーが起きたみたいです。
31:デフォルトの名無しさん
09/01/25 04:08:27
>>27でどうしてbの値が0になるのか不思議だ
32:デフォルトの名無しさん
09/01/25 05:14:40
型の違いに対する警告じゃね?
33:デフォルトの名無しさん
09/01/25 05:16:05
>>27
cに代入した値は、何か別の場所で使ってる?
34:デフォルトの名無しさん
09/01/25 07:55:48
ヘッダーファイルをインクルードせずにコンパイルおよび実行できてしまったのですが
これは何でですか?
具体的には
int main(void)
{
printf("%f\n", sqrt(3));
return 0;
}
です。
stdio.h math.h をインクルードしないとエラーが出ると思ったのですが・・・
環境は cygwin gcc 3.4.4です。
コンパイルオプションなどは特に設定してません。
35:デフォルトの名無しさん
09/01/25 08:27:22
どのエラーを期待してるのかわからないが、-Wall をつければ
いくつか警告がでるはず。
一般的に必須なのは math.h
sqrt() の返り値が double であると宣言する必要がある。
ただし、gccはprintfのフォーマット演算子の解析しているので、
"%f"から double を類推できて、問題なく動いているのだと思う。
36:34
09/01/25 09:14:06
>>35
数年の記憶ではエラーが出たような気がして。
-Wall試してみました。警告出てきました。
ですが、エラーにならないならインクルードする必要がないってことになってしまいませんか?
それとも、このエラーにならないってのはgccの仕様であって、
C89やC99では認められてなかったりするのでしょうか?
37:デフォルトの名無しさん
09/01/25 09:15:15
数年前の記憶では
です。