C Primer Plus第六版第15章编程练习第2题

发布时间:2026/7/12 17:14:23

C Primer Plus第六版第15章编程练习第2题 2.编写一个程序,通过命令行参数读取两个二进制字符串,对这两个二进制数使用~运算符、 运算符、| 运算符和 ^ 运算符,并以二进制字符串形式打印结果(如果无法使用命令行环境,可以通过交互式让程序读取字符串)。#include stdio.h #include string.h #include ctype.h #include limits.h int bstoi(const char *pbin); char * itobs(int n,char *ps); void show_bstr(const char*str); int main(int argc,char *argv[]) { if(argc!=3) { puts("paramaters is wrong!"); return -1; } int a,b; char ps[CHAR_BIT *sizeof(int)+1]; a=bstoi(argv[1]); b=bstoi(argv[2]); printf("~%s=",argv[1]); show_bstr(itobs(~a,ps)); printf("~%s=",argv[2]); show_bstr(itobs(~b,ps)); printf("%s%s=",argv[1],argv[2]); show_bstr(itobs(ab,ps)); printf("%s|%s=",argv[1],argv[2]); show_bstr(itobs(a|b,ps)); printf("%s^%s=",argv[1],argv[2]); show_bstr(itobs(a^b,ps)); return 0; } char * itobs(int n,char *ps) { int i; const static int size=CHAR_BIT *sizeof(int); for(i=size-1;i=0;i--,n=1) ps[i]=(01n)+'0'; ps[size]='\0';

相关新闻