当输出为41的ascii码 ’ )', ‘\41’表示八进制41,对应十进制33,33的ascii码为’ ! '。
printf("%c%c%c\n", 'H', 41, '\41');
//输出为: H)!
在scanf函数中,加了' *' 的部分会被忽略掉(跳过),即你输入的数据不会被对应的参数获取。
在printf函数中'*'表示用后面的参数替代' *'的位置,从而达到用变量控制输出格式的效果。
int a=1,b=2,c=3,d=5;
printf("%*d\n",a,d); //输出为5;等同于printf("%1d\n",d);
printf("%*d\n",b,d); //输出为 5;等同于printf("%2d\n",d);
printf("%*d\n",c,d); //输出为 5;等同于printf("%3d\n",d);//输出占 3列,不足空格补
控制格式输出
printf("%3.7s",b); //表示输出一个长度不小于3不大于7的字符串