Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

подскажите почему компилятор игнорирует

Nikita Pavlov Ученик (76), закрыт 6 лет назад
#include
#include
#include
#define NUM 3
int main()
{
int i;
char str[NUM * 2 + 1] = "ABCDEF";
char ch;
int num = 0;
printf ( "section A:\n" );

for ( i = 0; i < strlen ( str ) && str[i] != 'F'; i++ )
{
ch = str[i];

switch ( ch )
{
case 'A':
num += 10;
printf ( "%d\n", num );
break;

case 'B':
num += 20;
printf ( "%d\n", num );
break;

case 'C':
num += 30;
printf ( "%d\n", num );
break;

case 'D':
num += 40;
printf ( "%d\n", num );
break;

default:
num /= 10;
printf ( "%d\n", num );
break;
}
}

printf ( "section B:\n" );
strcpy ( str + NUM, "abd" );

for ( i = 0; i < NUM; i++ )
if ( ( str[i] - str[i + NUM] ) != ( str[i + 1] - str[i + 1 + NUM] ) ) break;

printf ( "%d %s\n", i, str );
return 0;
}
почему компилятор игнорирует
Section B:
0 ABCabd
и пишет сразу
Section B:
1 ABCabd
Лучший ответ
Алекс Куха Высший разум (449590) 7 лет назад
как накодили, так и выдаёт. при
i=0 условие false (B-b=A-a), next
i=1, а там уже true (B-b!=C-d), след-но мимо (brake)
Nikita PavlovУченик (76) 7 лет назад
все верно, я понял, спасибо
Остальные ответы
Похожие вопросы