Проблема с программой

#include<stdio.h>
#include<math.h>
int main(void)
{
int a[8],i=0,p=1;
for (i=0;i<8;i++)
{
printf("%d = ",i);
scanf("%d",&a[i]);
}
for (i=0;i<8;i++)
{
if((a[i]/2==0)&&a[i]==i);
p*=a[i];
}
printf("P= %d",p);
getchar();
return 0;
}

Мне кажетсья что «if» не так работает.

В if((a[i]/2==0)&&a[i]==i); точка с запятой лишняя. Для компилятора это выглядит так:

if((a[i]/2==0)&&a[i]==i)
    ;    // пустой оператор!
p*=a[i];

PS. Пожалуйста соблюдайте правила разметки!! >:-[

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.