c语言中不使用操作符实现两个数相加
来源:岁月联盟
时间:2012-03-28
int main()
{
int a=9;
int b=3;
printf("%d/n",printf("%*s%*s",a,"",b,""));
return 0;
}
结果在这里:
http://ideone.com/YlBhO
神奇啊!
printf函数中的*操作符用来指定输出的个数,这个值由printf后面的第一个参数指定
所以printf("%*s%*s",a,"",b,"")可以分解为printf("%*s",a,"")输出a个空格,同理printf("%*s",b,"")是输出b个空格,这种写法好处是是a,b都是变量,可以在外部进行修改。
printf("%*s%*s",a,"",b,"")其实就是输出了a+b个空格,在这里就是12个了,而printf的返回值是总共输出的字符个数,所以上面的语句输出是
12
12个空格加上12这个数字。
上一篇:C语言scanf函数奇遇记
下一篇:获取当前运行程序的名称或者是路径