본문 바로가기

IT프로그래밍

[지식풀이]c# 에러가 발생하는 코드

 

소스 코드

for (y = 1; y <= 6; y++)
            {
                for (x = 1; x <= 6; x++)
                {
                    Console.WriteLine("*");
                    if (x == y)
                        break;
                }
                Console.WriteLine();
            }

출력 결과 : 컴파일 에러

에러 발생 원인

x, y의 자료형을 선언하지 않았기 때문

 

오류를 수정한 소스 코드

for (int y = 1; y <= 6; y++)
{
    for (int x = 1; x <= 6; x++)
    {
        Console.WriteLine("*");
        if (x == y)
            break;
    }
    Console.WriteLine();
}

 

수정 후 출력 결과

 


소스 코드

for (y = 1; y <= 6; y++)
{
    for (x = 1; x <= 6; x++)
    {
        if (x > 6 - y)
        {
            Console.WriteLine("*");
        }
        else
        {
            Console.WriteLine(" ");
        }
    }
    Console.WriteLine();
}

 

출력 결과 : 컴파일 에러

 

에러 발생 원인

1번과 동일

 

에러를 수정한 소스 코드

for (int y = 1; y <= 6; y++)
{
    for (int x = 1; x <= 6; x++)
    {
        if (x > 6 - y)
        {
            Console.WriteLine("*");
        }
        else
        {
            Console.WriteLine(" ");
        }
    }
    Console.WriteLine();
}

 

에러를 수정한 소스 코드 출력 결과


 

 

소스 코드

for (int y = 1; y <= 7; y++)
{
    for (int x = 1; x <= 4; x++)
    {
        Console.WriteLine("*");
        if (y <= 3)
            if (x == y) break;
            else
                if (x == 8 - y)
                    break;
    }
    Console.WriteLine();
            

 

출력 결과 : 컴파일 에러

에러 발생 원인

for문의 } 가 빠져있다.

 

에러를 수정한 코드

for (int y = 1; y <= 7; y++)
{
    for (int x = 1; x <= 4; x++)
    {
        Console.WriteLine("*");
        if (y <= 3)
            if (x == y) break;
            else
                if (x == 8 - y)
                    break;
    }
    Console.WriteLine();
}

 

에러를 수정한 출력 결과