Как можно вывести строку, если ее не зовут?В случаях, использующих возвращаемое значение printf или scanf - PullRequest
0 голосов
/ 01 марта 2019

Как в следующем коде печатается значение st вместе с количеством символов в строке?Печатается ли строка символов в printf до того, как будет напечатано строковое значение "возвращаемое значение ..."?

#include <stdio.h>

int main() 
{ 
  char st[] = "CODING"; 

  printf("While printing "); 
  printf(", the value returned by printf() is : %d", 
          printf("%s", st));
  int out = printf("%s", "hello");

  return 0; 
} 

1 Ответ

0 голосов
/ 01 марта 2019

Перед вызовом второго оператора printf его аргументы сначала должны быть оценены.Одним из таких аргументов является другой вызов printf.Поэтому сначала вызывается внутренний printf с выводом «CODING», и этот вызов возвращает количество напечатанных символов.

Это значение затем передается внешнему оператору printf для печати этого значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...