Что означает, что команды printf
и scanf
являются частью языка C, так как они не нуждаются в включении #include<stdio.h>
.О printf и scanf
Почему другие не являются частью языка C?
Что означает, что команды printf
и scanf
являются частью языка C, так как они не нуждаются в включении #include<stdio.h>
.О printf и scanf
Почему другие не являются частью языка C?
Что такое среднее, что (печать е) и команды (скан е) являются частью языка Си
Они не являются «команды», а скорее функции, и они Арен Это тоже часть языка.
им не нужно включить #include
Они делают. Им нужны заголовки/объявления даже больше, чем другие,, так как они являются переменными. Не предоставление прототипа для них быстро приведет к неопределенному поведению.
почему другие не является частью языка C
Опять же, они не являются частью языка, потому что ... потому что они не являются частью языка. Это автономные функции,, которые не вносят основной синтаксис и семантику программы C. Они не включены в контекстно-свободную грамматику C. Стандарт C их описывает, хотя - так как они являются частью стандартной библиотеки C.
printf()
and scanf()
Example programs
В неспециалиста языке
printf()
является использование функции для отображения (выход)
scanf()
является функцией, которая используется для чтения ввода
'scanf' не выделяет пространство, аргументы должны быть указателями на выделенное пространство –
На самом деле, нет, они не являются частью языка так, как вы думаете. Если вы вызываете print("hello, %d", 5);
, он создаст неявное объявление на основе параметров, которые вы предоставили, и возвращаемый тип будет int
.
К счастью, для этого есть libc
, который неявно связан с вашей программой, и линкер сможет связать исходный файл и определение библиотеки printf
.
Ваше последнее предложение, скорее всего, устраняет его сомнения. –
В некотором IDE, вполне возможно, что printf
& scanf
используется и не подчеркнут как ложным, а editig исходного кода, из-индексатора, который знает эти функции существует. Но вы не сможете его скомпилировать. Включение не является обязательным, поскольку сам компилятор не знает printf или scanf.
printf
и scanf
не являются частью грамматики, но они являются частью языка в силу того, в стандартной библиотеке, как указано в определении языка.Вам do необходимо включить stdio.h
, чтобы использовать их правильно.
Я не совсем понимаю ваш вопрос. Вам нужно включить 'stdio.h' для использования' printf' и 'scanf' (или, по крайней мере, предоставить надлежащие прототипы, но это не будет предпочтительным способом). И да, они являются частью стандарта языка C. – Mat
Вопрос до редактирования был о '(print f)' и '(scan f)' ... возможно, это на самом деле вопрос [lisp]. –