Я изучаю C/C++ через книгу «C++ полная ссылка», и я застрял в игре с тиковым носком. Программа имеет это заявление:Что означает% * c?
scanf("%d %*c %d",&x,&y)
Что это %*c?
книга не объясняет вообще.
Я изучаю C/C++ через книгу «C++ полная ссылка», и я застрял в игре с тиковым носком. Программа имеет это заявление:Что означает% * c?
scanf("%d %*c %d",&x,&y)
Что это %*c?
книга не объясняет вообще.
*
является необязательным флаг подавления. Он сообщает scanf()
, чтобы прочитать текст ввода в соответствии с указанной спецификацией (в данном случае %c
для одного символа), но не выводить значение в переменную, предоставленную вызывающим абонентом. Так, например, с учетом вклада "5 & 10"
, %*c
будет читать и игнорировать &
характер, и два %d
спецификации будет выводить 5
и 10
значения к x
и y
переменных, соответственно.
спасибо человеку! мир. –
Проверьте [man page] (http://linux.die.net/man/3/scanf)! –
Первый и второй [результаты Google] (https://www.google.com/search?q=scanf) для 'scanf' отвечают на вопрос. – user2357112
Возможно, некоторые из этих '%' на самом деле '&'? –