通知
すべてクリア
Topic starter
2006年1月22日 3:10 PM
C言語初心者です。
以下はコンパイルはできるのですが、実行しようとするとアプリケーションエラーがでてしまい
ます。
#include<stdio.h>
void smp(int**abc);
int main()
{
int a=1;
int b=2;
int c=3;
int *abc[]={&a,&b,&c}
smp(abc);
printf(a=%d b=%d c=%d \n,a,b,c);
}
void smp(int**abc)
{
int i;
for(i=1;i<3;i++,abc++){
**abc*=10;
**abc+=**(abc+i);
}
}
どこがエラーの原因なのでしょうか?また、どのようにすればエラーがでないでしょうか?
よろしくご回答お願いします。
2006年1月22日 3:55 PM
> どこがエラーの原因なのでしょうか?
基本的には、バグが残っているだけです。
# コンパイルできただけのプログラムが、そのままで全て正しく動くなら、
# 世の中にバグのあるソフトなんてなくなるのでは。
配列のインデクスとかポインタとか再確認してみてください。
場所という意味では、あえて「smp の中」としか書きません。デバッグすればわかるはず
です。
> また、どのようにすればエラーがでないでしょうか?
デバッグして、バグをつぶしてください。
printfを埋め込むなり、VCなら「ステップ実行」してみるなり。
Topic starter
2006年1月22日 7:56 PM
ありがとうございます。早速試してみます。