special-characters - 特殊字元:%*c%c 和 %c 之間的區別是什麼?

  显示原文与译文双语对照的内容
59 1

我通常用 %c 獲取一個字元,但是我看到了使用 %*c%c的代碼。例如:

char a;
scanf("%*c%c", &a);

有什麼區別?

时间:原作者:0个回答

114 0

scanf 格式字元串中,% 之後,* 字元是賦值suppressing取消字元

在示例中,它將吃掉第一個字元,但不存儲它。

例如使用:

char a;
scanf("%c", &a);

如果輸入:xyzn,( n 是新行字元) 將在對象 a 中存儲 x

使用:

scanf("%*c%c", &a);

如果輸入:xyzny 將存儲在對象 a 中。

C 表示以這種方式為 scanf 指定 *:

( c,7.19.6.2 p10 ) 除非分配抑制被 *, 指示,否則轉換的結果將放置在第一個參數後面的對象。

原作者:
...