LINUX.ORG.RU

История изменений

Исправление user_id_68054, (текущая версия) :

ну вот теперь мы (внучную) попробуем подставить макрос...

но предположим что там нет «do»,«while»:

первый случай:

if (...)
  macro;
else
  ...

становится:

if (...)
  {					
		if (function_p) {		
			res = function_p(args); 
			if (res)		
				return res;	
		}				
	}
else
  ...

второй случай:

if (...) {
  macro;
} else
  ...

становится:

if (...) {
  {					
		if (function_p) {		
			res = function_p(args); 
			if (res)		
				return res;	
		}				
	}
} else
  ...

то есть во втором случае — у нас два раза открываются фигурные скобки (блок) «{{» и два раза закрываются «}}»

--- это является в Си синтактисечкой ошибкой?

Исправление user_id_68054, :

ну вот теперь мы (внучную) попробуем подставить макрос...

но предположим что там нет «do»,«while»:

первый случай:

if (...)
  macro;
else
  ...

становится:

if (...)
  {					\
		if (function_p) {		\
			res = function_p(args); \
			if (res)		\
				return res;	\
		}				\
	}
else
  ...

второй случай:

if (...) {
  macro;
} else
  ...

становится:

if (...) {
  {					\
		if (function_p) {		\
			res = function_p(args); \
			if (res)		\
				return res;	\
		}				\
	}
} else
  ...

то есть во втором случае — у нас два раза открываются фигурные скобки (блок) «{{» и два раза закрываются «}}»

--- это является в Си синтактисечкой ошибкой?

Исходная версия user_id_68054, :

ну вот теперь вы (внучную) попробуем подставить макрос...

но предположим что там нет «do»,«while»:

первый случай:

if (...)
  macro;
else
  ...

становится:

if (...)
  {					\
		if (function_p) {		\
			res = function_p(args); \
			if (res)		\
				return res;	\
		}				\
	}
else
  ...

второй случай:

if (...) {
  macro;
} else
  ...

становится:

if (...) {
  {					\
		if (function_p) {		\
			res = function_p(args); \
			if (res)		\
				return res;	\
		}				\
	}
} else
  ...

тоесть во втором случае — у нас два раза открывается фигурные скобки (блок) {{ и два раза закрываются }}

--- это является в Си синтактисечкой ошибкой?