Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Vzdalenost makro inline
#include <stdio.h> #include <math.h> //sqrt = odmocnina // https://godbolt.org/z/1aWPEd // https://godbolt.org/z/Gqnh6o // https://godbolt.org/z/GvYx9W #define MAKRO //#if defined(MAKRO) #ifdef MAKRO // ifdef = if defined #define VZDALENOST(aX, aY) sqrt(((aX) * (aX)) + ((aY) * (aY))) #endif #if !defined(MAKRO) // ! = not /* inline */double vzdalenost(double aX, double aY) //aX a aY jsou argumenty funkce //co dělá inline? zrychluje volání funkce, ale zvyšuje paměť { return sqrt((aX * aX) + (aY * aY)); } #endif int main(void) { printf("Zadejte hodnoty X a Y\n"); double x, y; if(scanf("%lf%lf", &x, &y) != 2) //vraci pocet nactenych parametru { printf("Neplatny vstup, konec programu"); return 1; } printf("x: %lf, y: %lf\n", x, y); #ifdef MAKRO double r = VZDALENOST(x, y); // 2 + VZDALENOST(1 + 2, 3 + 4), -> 2 + sqrt(((1 + 2) * (1 + 2)) + ((3 + 4) * (3 + 4))) #else double r = vzdalenost(x, y); #endif printf("\nVysledna vzdalenost je: %lf\n", r); return 0; } //-Wall -std=gnu99 -O2 -o a.out source_file.c -lm // ^^^ //do clangu dopsat do compiler args ----------||| #if #endif
run
|
edit
|
history
|
help
0
lab4.1 C
C
myblkqsort-ptr 20m numbers
Ducktype
lab7_OOP 0.2 beta
Vzdalenost
Es un rectangulo
C99 doesn't allow initializers in if-conditions, so this does not compile.
Euclides 2
Herout (67) - 14