ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Visual Studio. 
Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ синтаксичСских ошибок

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

БинтаксичСскиС ошибки — это ошибки, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ компиляции исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½Ρ‹Π΅ с Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡΠΌΠΈ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ синтаксичСских ΠΏΡ€Π°Π²ΠΈΠ» языка программирования. Ошибки ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ — это ошибки, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ объСдинСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² для получСния исполняСмого Ρ„Π°ΠΉΠ»Π°. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, запустив Π΅Π΅ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ мСню Debug > Start Debugging (ΠΈΠ»ΠΈ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Visual Studio. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ синтаксичСских ошибок (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ называСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ-компилятором (входящСй Π² ΡΠΎΡΡ‚Π°Π² Visual Studio) исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанного Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° C ΠΈΠ»ΠΈ C++), Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Однако часто Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… содСрТатся ошибки. НСкоторыС ΠΈΠ· ΡΡ‚ΠΈΡ… ошибок автоматичСски ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ срСдствами VS. ПослС обнаруТСния ошибки выдаСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ диагностичСскоС сообщСниС для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ошибки (Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ для процСсса сборки прилоТСния) ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ: синтаксичСскиС ΠΈ ошибки ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ.

БинтаксичСскиС ошибки — это ошибки, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ компиляции исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½Ρ‹Π΅ с Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡΠΌΠΈ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ синтаксичСских ΠΏΡ€Π°Π²ΠΈΠ» языка программирования. Ошибки ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ — это ошибки, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ объСдинСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² для получСния исполняСмого Ρ„Π°ΠΉΠ»Π°.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» — ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ модуля ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ компиляции. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Π² ΡΠ΅Π±Π΅ особым ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Ρ‘Π½ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ для получСния Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ исполняСмого Ρ„Π°ΠΉΠ»Π°.

Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» — Ρ„Π°ΠΉΠ», содСрТащий ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ исполнСна ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ.

Рассмотрим автоматичСскоС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² ошибок Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…. Для этого создадим консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ способом, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅. Π’ ΠΎΠΊΠ½Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (см. ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 2). Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ сборку прилоТСния, Π²Ρ‹Π±Ρ€Π°Π² Π² ΠΌΠ΅Π½ΡŽ Build > Build Solution. ПослС этого Π² ΠΎΠΊΠ½Π΅ Output Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ сообщСния ΠΎΠ± ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… (рис. 10).

Для Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡΠΏΠΈΡΠΊΠΎΠΌ ошибок Π² VS прСдусмотрСно ΠΎΠΊΠ½ΠΎ Error list, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ, Π²Ρ‹Π±Ρ€Π°Π² Π² ΠΌΠ΅Π½ΡŽ View > Other windows > Error list. Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ ΠΎΠΊΠ½Π΅ Error list Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΉ ошибкС ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ этом Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π° курсор пСрСмСстится Π½Π° ΡΡ‚Ρ€ΠΎΠΊΡƒ с ΠΎΡˆΠΈΠ±ΠΊΠΎΠΉ (рис. 11).

Π‘ΠžΠ’Π•Π’. ПолСзно ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ список ошибок, начиная с ΠΏΠ΅Ρ€Π²ΠΎΠΉ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π°-СдинствСнная ошибка ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ†Π΅ΠΏΠ½ΡƒΡŽ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ, появлСниС «Π½Π°Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ…» ошибок. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ этой СдинствСнной ошибки ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΈ ΠΊ ΠΈΡΡ‡Π΅Π·Π½ΠΎΠ²Π΅Π½ΠΈΡŽ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…. Однако ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ исправлСниСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ ошибки всС ΠΆΠ΅ Π½Π΅ ΡΡ‚ΠΎΠΈΡ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‚Π΅Ρ€ΡΡ‚ΡŒ врСмя Π½Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΡƒΡŽ сборку Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ (Π° ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… прилоТСниях Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… часов!). Π‘ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ «Π½Π°Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅» ошибки ΠΎΡ‚ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для прСобразования массива, содСрТащая Π² ΡΠ²ΠΎΠ΅ΠΌ тСкстС ошибки ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° тСкстовый.

// Π”Π°Π½ массив Ρ€Π°Π·ΠΌΠ΅Ρ€Π° N ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл.

// ВвСсти элСмСнты массива с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ.

// Ρ‚Π΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, массива ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ располоТСны ΠΌΠ΅ΠΆΠ΄Ρƒ Π΅Π³ΠΎ.

// ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΌΠ°ΠΊcΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтами (Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ.

// эти ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнты).

#include «stdafx.h» .

const int Nmax = 10;

int _tmain (int argc, _TCHAR* argv[]).

{.

int a[Nmax], N = 0 /* Ошибка cинтаксиса: отсутсвуСт; Π² ΠΊΠΎΠ½Ρ†Π΅ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… */

printf («Vvedite razmer massiva N: «);

scnf («%d», &N); /* Ошибка cинтаксиса: Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ΅ имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ scanf_s) */

printf («Vvod elementov massiva a: «);

for (int i = 0; i < N; i++) {.

printf («Vvedite element a[%d]: «, i);

scanf («%d», &a[i]);

/* Ошибка синтаксиса: Π½Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ скобки } */.

// Поиск максимального ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ элСмСнтов.

int iMax = 0, iMin = 0;

for (int i = 1; i < N; i++) {.

if (a[iMax] < a[i]) iMax = i;

else.

if (a[iMin] > a[i]) iMin = i;

}.

// ΠžΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ элСмСнтов массива ΠΌΠ΅ΠΆΠ΄Ρƒ.

// ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π΅Π³ΠΎ элСмСнтами.

i1 = iMin; /* Ошибка cинтаксиса: Π½Π΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ i1 (Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ int i1 = iMin) */

int i2 = iMax;

if (iMin > iMax) {.

i1 = iMax; i2 = iMin;

}for (int i = i1; i < i2; i++) /* ЛогичСская ошибка: Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ i = i1 + 1 */

a[i] = 0;

printf («Vyvod elementov massiva a: «);

for (int i = 0; i < N; i++).

printf («Element a[%d] = %d «, i, a[i]);

getch (); /* Ошибка синтаксиса: Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ отсутсвуСт описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ _getch () */ /* Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ #include */

return 0;

}.

Окно Π’Ρ‹Π²ΠΎΠ΄ с сообщСниями ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… компиляции.

Рисунок 10. Окно Π’Ρ‹Π²ΠΎΠ΄ с ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡΠΌΠΈ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… компиляции.

Окно Бписок ошибок.

Рисунок 11. Окно Бписок ошибок.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ вСсь список ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ компиляции ошибок. Π’ΠΎΡ‡Π½ΠΎ установитС строки тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, содСрТащиС ошибки (для этого слСдуСт Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ ΠΎΡˆΠΈΠ±ΠΊΠ΅ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΈ ΠΊΡƒΡ€ΡΠΎΡ€ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π° пСрСмСстится Π½Π° ΡΡ‚Ρ€ΠΎΠΊΡƒ с ΠΎΡˆΠΈΠ±ΠΊΠΎΠΉ). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ указания Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ариях Π² Ρ‚СкстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ ошибки, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Если всС синтаксичСскиС ошибки Π±Ρ‹Π»ΠΈ исправлСны, Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ собран исполняСмый Ρ„Π°ΠΉΠ».

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, запустив Π΅Π΅ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ мСню Debug > Start Debugging (ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F5). На Ρ€ΠΈΡ. 12 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, хотя ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ Π²Ρ‹Π΄Π°Π΅Ρ‚ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт массива Ρ‚ΠΎΠΆΠ΅ обнуляСтся.

Π’Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ элСмСнтов массива.

Рисунок 12. Π’Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ элСмСнтов массива.

Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ содСрТится ошибка, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ автоматичСски Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ. БрСдства поиска Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° ошибок (Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… логичСскими) Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ошибки, которая обнаруТиваСтся Π½Π° ΡΡ‚Π°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ». ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Π°Ρ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 3) Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ сообщСниС ΠΎ Ρ‚ΠΎΠΌ, являСтся Π»ΠΈ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с ΠΎΡˆΠΈΠ±ΠΊΠΎΠΉ, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π½Π° ΡΡ‚Π°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ.

#include «stdafx.h» .

#include.

int isEven (int a);

int _tmain (int argc, _TCHAR* argv[]).

{.

// функция ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ числа Π½Π° Ρ‡Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ.

// ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Ρ„ΡƒΠΊΡ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ, поэтому.

// компилятор Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

int a = 0;

printf («Vvedite chislo a: «);

scanf («%d», &a);

if (isEven (a)) // Ошибка ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ: Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅

// Π½Π΅Ρ‚ описания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ isEven.

printf («Chislo a = %d — chet «, a);

else.

printf («Chislo a = %d — nechet «, a);

getch ();

}.

//int isEven (int a) { return 0 == a % 2; }.

Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ компиляции этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ошибок Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ вся нСобходимая компилятору информация ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ isEven Π΄Π°Π½Π° Π² ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ΅ (имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ Сю Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ, количСство, ΠΈΠΌΠ΅Π½Π° ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΅Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²).

Однако Π½Π° ΡΡ‚Π°ΠΏΠ΅ сборки ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΡƒ потрСбуСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ isEven, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ отсутствуСт (Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ) Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ появлСниС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ диагностичСского сообщСния (рис. 13). Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ содСрТимого ΠΎΠΊΠ½Π° Output (рис. 14) ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ, Π° Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Π°Ρ ошибка ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² Π½Π°ΡˆΠ΅ΠΌ случаС, достаточно ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π·Π½Π°ΠΊ коммСнтария с ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ строки ΠΊΠΎΠ΄Π° Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, послС Ρ‡Π΅Π³ΠΎ слСдуСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ сборку прилоТСния ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ послС исправлСния ошибок ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 15.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ° ΠΎΠ± ошибкС.

Рисунок 13 Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ° ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅.

БообщСния компилятора ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ° Π² ΠΎΠΊΠ½Π΅ Output.

Рисунок 14. БообщСния компилятора ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ° Π² ΠΎΠΊΠ½Π΅ Output.

Π Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, послС исправлСния ошибок.

Рисунок 15. Π Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, послС исправлСния ошибок.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ