2015-04-12 3 views
-3

Я изучаю C/C++ через книгу «C++ полная ссылка», и я застрял в игре с тиковым носком. Программа имеет это заявление:Что означает% * c?

scanf("%d %*c %d",&x,&y) 

Что это %*c? книга не объясняет вообще.

+5

Проверьте [man page] (http://linux.die.net/man/3/scanf)! –

+6

Первый и второй [результаты Google] (https://www.google.com/search?q=scanf) для 'scanf' отвечают на вопрос. – user2357112

+1

Возможно, некоторые из этих '%' на самом деле '&'? –

ответ

6

* является необязательным флаг подавления. Он сообщает scanf(), чтобы прочитать текст ввода в соответствии с указанной спецификацией (в данном случае %c для одного символа), но не выводить значение в переменную, предоставленную вызывающим абонентом. Так, например, с учетом вклада "5 & 10", %*c будет читать и игнорировать & характер, и два %d спецификации будет выводить 5 и 10 значения к x и y переменных, соответственно.

+0

спасибо человеку! мир. –