[ このメッセージへの返事 ]
[ 返事を書く ]
[ home.html ]
投稿者:
68user @ oryo.inforyoma.or.jp on 98/3/06 02:34:28
In Reply to: Re: そう、それです!!
posted by EIJI @ cs22239.ppp.infoweb.or.jp on 98/3/05 21:52:19
> Sample.java
> (snip!)
これって
char *swap_result(int *num1,int *num2){
int tmp;
char *result_p;
result_p = malloc(30);
tmp = *num1;
*num1 = *num2;
*num2 = tmp;
sprintf(result_p,"a,b=%d,%d\n",num1,num2);
return result_p;
}
void main(){
int a=30;
int b=10;
printf("%s",swap_result(&a,&b));
}
とやってるだけですよね。aとbの中身は入れ替わってないわけで。
で、EIJIさんの書かれたのをみて、
public class sample{
public static void main(String args[]){
int a=30,b=10;
String str = "";
Swap s = new Swap(a,b);
System.out.println("a,b="+String.valueOf(a)+String.valueOf(b));
}
}
class Swap{
int a,b,tmp;
Swap(int a,int b){
int tmp;
tmp = this.a;
this.a = this.b;
this.b = tmp;
}
}
としてみたのですが入れ替わってませんでした。
ところでC++には参照(int #ってやつ)がありますよね。
これがJavaに実装されていたら、swapできるんじゃ
ないでしょうか。ちょっと今から試してみます。
> 68userさんでも知らないってことは、やっぱりできないんでしょうか……
いや、あの…僕はJava歴3日、C++歴10日くらいですので…(^^;
JavaもC++も、ぜ〜んぜん知りませんわ(笑)
|