- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
#include <stdio.h>
int main(void)
{
(
*********************
** ** ** ***** *
* ** * **** ** *** **
* ** * **** *** * ***
* ** * **** **** ****
* ** * **** *** * ***
* ** ** *** *** **
*********************
printf)("pidor");
}
Noodles 27.02.2022 10:51 # 0
guest6 27.02.2022 12:22 # 0
kcalbCube 28.02.2022 09:15 # 0
bormand 27.02.2022 11:31 # 0
guest6 27.02.2022 11:36 # 0
kcalbCube 27.02.2022 11:38 # 0
DaveMustAim 27.02.2022 16:15 # 0
Конь систентно!
Soul_re@ver 27.02.2022 16:29 # +2
То есть *printf сначала превращает функцию в указатель, а затем обратно в функцию.
EDIT: Ну да:
6.3.2.1/4
A function designator is an expression that has function type. Except when it is the operand of the sizeof operator, the _Alignof operator, or the unary & operator, a function designator with type ''function returning type'' is converted to an expression that has type ''pointer to function returning type''.
6.5.3.2/4
The unary * operator denotes indirection. If the operand points to a function, the result is a function designator; if it points to an object, the result is an lvalue designating the object. If the operand has type ''pointer to type'', the result has type ''type''. If an invalid value has been assigned to the pointer, the behavior of the unary * operator is undefined
DaveMustAim 27.02.2022 16:35 # 0
bormand 28.02.2022 08:09 # 0
Steve_Brown 28.02.2022 12:30 # 0
Вот бы и с амперсандами так тоже можно было.
guest6 27.02.2022 19:38 # 0
bormand 27.02.2022 19:47 # 0