User Tools

Site Tools


tanszek:oktatas:szamitastechnika:blokkok_-_ciklusok

Feladat 1: Próbáljuk ki a következő kódot és magyarázzuk meg a hiba okát.

#include<stdio.h>
int main()
{
   {
     int a = 10, b = 20;
   }
   {
     printf("a = %d, b = %d\n", a, b);
   }
}

Megoldás: az a és b változók nem léteznek a második blokkban.

Feladat 2: Figyeljük meg, hogyan kezeli a C nyelv a blokkokat. Két kapcsos zárójel közötti utasításokat 1 blokknak kell tekinteni. Mi lesz a kimenete a következő kódnak és miért?

#include <stdio.h>
int main()
{
    int n = 1;
    {
        int n = 2;
        printf("%d\n", n);
    }
    printf("%d\n", n);
}

Megoldás: hiába azonosak a változónevek (n) a C nyelv a blokkon belül egyedileg kezeli, így a külső n más értket fog tartalmazni.

tanszek/oktatas/szamitastechnika/blokkok_-_ciklusok.txt · Last modified: 2023/11/28 19:46 by knehez