Nieuw op de exchange, dus sorry als mijn opmaak is uitgeschakeld.
Ik krijg een foutmelding voor “verwachte declaratiespecificaties” Dit staat in de is_prime-functie die ik onderaan heb gedefinieerd. Kun je wat licht werpen op deze fout en hoe je deze kunt corrigeren?
#include <stdio.h>
#include <math.h>
main()
{
int n;
int k;
int j;
//gets user input for length of string
printf("Enter the value of n:");
scanf("%d", &n);
//stores user input as n
printf("Printing primes less than or equal to %d: \n", n);
for(k = 2; k <= n; k++)
{
if(is_Prime(k) == 1)
{
printf("%d,", k);
}
}
//here is the is_Prime function
{
int is_Prime (int k)
for(j = 2; j < k; j++)
{
if(k%j != 0)
{
return 1;
}
else if(k%j == 0)
{
return 0;
break;
}
}
}
hier zijn de uitvoerfouten
main.c: In function 'is_Prime':
main.c:29:1: error: expected declaration specifiers before 'for'
for(j = 2; j < k; j++)
^
main.c:29:12: error: expected declaration specifiers before 'j'
for(j = 2; j < k; j++)
^
main.c:29:19: error: expected declaration specifiers before 'j'
for(j = 2; j < k; j++)
^
main.c:42:1: error: expected declaration specifiers before '}' token
}
^
main.c:42:1: error: expected '{' at end of input
main.c: In function 'main':
main.c:42:1: error: expected declaration or statement at end of input
Antwoord 1, autoriteit 100%
Je hebt is_Prime
gedefinieerd in de hoofdtekst van main
. Dit is niet mogelijk in C.
Of je mist een afsluitende accolade aan het einde van de hoofdtekst van main
.
Het andere probleem werd al genoemd in shf301’s antwoord.
Antwoord 2, autoriteit 98%
Je mist de openingsaccolade {
voor de functie is_Prime
.