c语言 各符号用法 %*c XTU oj作业 字母倒三角及解析

scanf函数中的格式控制符:%*c

其中%c是读一个字符,而中间的*号是跳过一个字符。意思就是读取一个字符但并不赋值给变量。

下面是详细的格式说明,请参考:

%a-----------------读入一个浮点值(仅C99有效)
%A-----------------同上
%c-----------------读入一个字符
%d-----------------读入十进制整数
%i-----------------读入十进制,八进制,十六进制整数
%o-----------------读入八进制整数
%x-----------------读入十六进制整数
%X-----------------同上
%c-----------------读入一个字符
%s-----------------读入一个字符串
%f-----------------读入一个浮点数
%F-----------------同上
%e-----------------同上
%E-----------------同上
%g-----------------同上
%G-----------------同上
%p-----------------读入一个指针
%u-----------------读入一个无符号十进制整数
%n-----------------至此已读入值的等价字符数
%[]----------------扫描字符集合
%%-----------------读%符号

附加格式说明字符表修饰符

L/l:长度修饰符----输入"长"数据
h:长度修饰符------输入"短"数据
W:整型常数--------指定输入数据所占宽度
*: 星号-----------空读一个数据

ps:回车属于字符!!!!!

//字母倒三角

#include <stdio.h>

int main(int argc, char *argv[])
{char c,i,j;
    int count=1;
 scanf("%c%*c",&c);   //%*c吃掉回车,否则无法输出字母三角
 while(c!='#')
 {printf("case %d:\n",c);
     count++;
  for(i=c;i>='A';i--)
  {printf("%*s",c-i,"");   //意思是输出c-i个空格      ps:printf("%*s", 10, s); /*意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf("%10s", s);*/(*s用法)
   for(j='A';j<=i;j++)                    
     printf("%c",j);
   for(j-=2;j>='A';j--)  //for运行机制  第三个表达式从第一次执行循环开始就在每次循环结束后执行一次
     printf("%c",j);
   printf("\n");     
  }
  scanf("%c%*c",&c);
 }
 return 0;
}
posted @ 2019-09-19 09:29  Torebtr  阅读(1017)  评论(0)    收藏  举报