Birisi bu programdaki boşlukları anlamama yardımcı olabilir mi? Uzun zamandır anlamaya çalıştım ama daha fazla sıkışmış. Belirtilen iki sayı arasındaki toplam sayı veya ürün (C programında)
{uyarı: için bir etki [-Wunused değer] ile ifade (N1, N1 < = N2, N1 = (N1 + 2))}
Elde
hata derleme -oyla olmadan programı derlemeye çalışırken duvar çalışması gibi görünüyor, ancak gereksiz bir ekstra giriş ister. Basit problemi çözmeme yardım et. Çok teşekkür ederim.
#include<stdio.h>
int N1, N2;
int prod(int N1,int N2);
int soma(int N1, int N2);
int main(){
printf("Introduz dois numeros N1 e N2\n");
scanf("%d\n%d\n", &N1, &N2);
printf("Produto de numeros pares: %d\n", prod(N1,N2));
printf("Soma de numeros impares: %d\n", soma(N1,N2));
return 0;
}
int prod(int N1,int N2){
int prod=1;
if (N1%2 == '0'){
for(N1; N1 <= N2; N1 = (N1 + 2))
prod=prod*N1;
}
else{
N1=N1+1;
for(N1; N1 <= N2; N1 = (N1 + 2))
prod=prod*N1;
}
return prod;
}
int soma(int N1, int N2){
int soma=0;
if (N1%2 != '0'){
for(N1; N1 <= N2; N1 = (N1 + 2))
soma = soma + N1;
}
else{
N1 = N1 + 1;
for(N1; N1 <= N2; N1 = (N1 + 2)){
soma = soma + N1;
}
}
return soma;
}
Scanf –
'da nc'ye gerek yoktur, ana fonksiyonunuzda N1 ve N2 tanımlanmış mı? –
'scanf ("% d \ n% d \ n ", & N1, &N2);' -> 'scanf ("% d% d ", & N1, &N2);'. Daha iyi bir çözüm, 'fgets()' ve sonra 'sscanf kullanın. (arabellek, "% d \ n% d \ n", & N1, &N2); " – chux