#include <stdio.h>
#include <string.h>
#include <math.h>
#define FALSE 0
#define TRUE 1
......................
int checkprime (char number)
{
int i, valid;
valid = TRUE;
for (i = 2; i <= number; i++)
{
if (number % i == 0) valid = FALSE;
}
return valid;
}
int main(void)
{
char inputarray[4];
int c, primeanswer;
........................
{
primeanswer = checkprime(c);
if (primeanswer == 1)
{
printf("%d", "is a prime", inputarray);
}
else
{
printf("%d", "not prime", inputarray);
}
}
}
Моя проблема здесь заключается в том, чтобы заставить работать функцию checkprime. Я думаю, что я, вероятно, не инициализирую что-то, поскольку цифры, которые я получаю, кажутся мне такими, как вывод программы, неверен. Также, когда я ввожу данные для checkprime, числа мне кажутся неинициализированными значениями int. И что другие функции, похоже, не называются.Как наиболее эффективно объединить функции, включая checkprime
Что я не инициализирую? Как я могу объединить функцию checkprime более эффективно с другими? Нужно ли переключаться между значениями char/int, как это было сделано в функциях?
EDIT:
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#define FALSE 0
#define TRUE 1
................
}
int checkprime (int number)
{
int i, valid;
valid = TRUE;
for (i = 2; i < number; i++)
{
if (number % i == 0) valid = FALSE;
}
return valid;
}
int main(void)
{
char inputarray[4];
int c, primeanswer;
.........................
else
{
c = atoi(inputarray);
primeanswer = checkprime(c);
if (primeanswer == 1)
{
printf("%d", "is a prime", inputarray);
}
else
{
printf("%d", "not prime", inputarray);
}
}
}
Могу ли я написать синтаксис следующим образом? inputarray [4] = atoi (c); – Absolutebeginnertoc
@Absolutebeginnertoc Нет, вы пытаетесь использовать 'c', не настраивая его на что-либо еще. То, что вы хотите, это 'c = atoi (inputarray);'. Не забудьте зафиксировать тип параметра 'checkprime', а также исправить условие цикла, как указано в ответе Haldean Brown. – dbush
Спасибо.Я приспособил его, пока все еще появляюсь как неопределенное поведение, когда я его тестирую. Будет редактировать мой оригинальный пост с тем, что у меня есть сейчас. – Absolutebeginnertoc