Рубрики

Что main () возвращает в C и C ++?

С

Согласно стандартам кодирования, хорошая программа возврата должна завершать основную функцию с 0 . Хотя мы используем void main() в C , в котором мы не предполагаем писать какие-либо операторы возврата, но это не означает, что код C не требует 0 в качестве кода выхода . Давайте рассмотрим один пример, чтобы прояснить наше мнение о необходимости выражения return 0 в нашем коде.

Пример № 1:

#include <stdio.h>

  

void main()

{

  

    // Этот код будет работать правильно

    // но в конце,

    // это потребует код выхода.

    printf("It works fine");

}

Выход:

It works fine

Ошибка выполнения:

NZEC

Как мы видим в выводе, компилятор выдает ошибку времени выполнения NZEC , что означает, что код выхода не равен нулю . Это означает, что наша основная программа вышла с ненулевым выходным кодом, поэтому, если мы хотим быть разработчиком, мы думаем об этих маленьких вещах.

Правильный код для C:

#include <stdio.h>

  

int main()

{

  

    // Этот код будет работать правильно

    // но в конце,

    // это потребует код выхода.

    printf("This is correct output");

    return 0;

}

Выход:

This is correct output

Примечание. Возвращение значения, отличного от нуля, вызовет ту же ошибку во время выполнения. Поэтому убедитесь, что наш код возвращает только 0.

Пример № 2:

#include <stdio.h>

  

int main()

{

  

    printf("GeeksforGeeks");

    return "gfg";

}

Выход:

It works fine

Ошибка выполнения:

NZEC

Правильный код для C:

#include <stdio.h>

  

int main()

{

  

    printf("GeeksforGeeks");

    return 0;

}

Выход:

GeeksforGeeks

C ++

В случае C ++ мы не можем использовать ключевое слово void с нашей функцией main() соответствии со стандартами кодирования пространства имен, поэтому мы намерены использовать только ключевое слово int только с главной функцией в C ++. Давайте посмотрим несколько примеров, чтобы оправдать эти утверждения.

Пример № 3:

#include <iostream>

using namespace std;

  

void main()

{

    cout << "GeeksforGeeks";

}

Ошибки компиляции:

prog.cpp:4:11: error: '::main' must return 'int'
 void main()
           ^

Правильный код для C ++:

#include <iostream>

using namespace std;

  

int main()

{

    cout << "GeeksforGeeks";

    return 0;

}

Выход:

GeeksforGeeks

Пример № 4:

#include <iostream>

using namespace std;

  

char main()

{

    cout << "GeeksforGeeks";

    return "gfg";

}

Ошибки компиляции:

prog.cpp:4:11: error: '::main' must return 'int'
 char main()
           ^
prog.cpp: In function 'int main()':
prog.cpp:7:9: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
  return "gfg";
         ^

Правильный код для C ++:

#include <iostream>

using namespace std;

  

int main()

{

    cout << "GeeksforGeeks";

    return 0;

}

Выход:

GeeksforGeeks

Рекомендуемые посты:

Что main () возвращает в C и C ++?

0.00 (0%) 0 votes