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:回車屬於字符!!!!!spa

//字母倒三角指針

#include <stdio.h>code

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;
}
相關文章
相關標籤/搜索