C言語のintでハーフアダー

ちょっと所用で作ったキャリーの無いハーフアダー

~$ echo -e '#include <stdio.h>\nint main(){int a,b;a=0;b=0;printf("%d\\n",(a+b)%2);}'>/tmp/a.c; gcc /tmp/a.c;./a.out;rm /tmp/a.c a.out
0
~$ echo -e '#include <stdio.h>\nint main(){int a,b;a=0;b=1;printf("%d\\n",(a+b)%2);}'>/tmp/a.c; gcc /tmp/a.c;./a.out;rm /tmp/a.c a.out
1
~$ echo -e '#include <stdio.h>\nint main(){int a,b;a=1;b=0;printf("%d\\n",(a+b)%2);}'>/tmp/a.c; gcc /tmp/a.c;./a.out;rm /tmp/a.c a.out
1
~$ echo -e '#include <stdio.h>\nint main(){int a,b;a=1;b=1;printf("%d\\n",(a+b)%2);}'>/tmp/a.c; gcc /tmp/a.c;./a.out;rm /tmp/a.c a.out
0


なんか久しぶりなのでまたmain(){}を忘れてしまった(涙

コマンドをもらった気がしないでもないが環境を引き連れていくのを忘れる。
この程度なら.bashrcに書くレベルか。

とおもったけど、bashでかけなかった…括弧がなぁ(笑

~$ function gcci(){ t=/tmp/a.c;echo '#include <stdio.h>'>$t;echo 'int main(){'>>$t;echo -ne "\047 $1 \047">>$t;echo '}'>>$t;cat $t; gcc $t; ./a.out; rm $t ./a.out; }
~$ gcci printf()
bash: syntax error near unexpected token `('

追記 2008/10/15 11:01:26:
.bashrcのみでインタプリタライクにgccをつかうには - 計算機と戯れる日々で解決した。

こんなかんじ

$ rungcc 'printf("%d\n",(1+1)%2)'
0
$ rungcc 'printf("%d\n",(1+0)%2)'
1
$ rungcc 'printf("%d\n",(0+1)%2)'
1
$ rungcc 'printf("%d\n",(0+0)%2)'
0