这是我发布的第一个问题,所以如果不完全正确,我会提前道歉。我在调试我编写的一段代码时遇到问题。当试图编译代码时,我得到一个奇怪的错误,指向我的printf语句。这是代码......
int IsItPrime (int number, int *ptr);
int main(void)
{
int userinput;
printf ("This program is designed to tell wether or not \na number you enter is prime or composite \nType your number, and press Enter: “);
scanf ("%i", &userinput);
int *ptr = &userinput;
if(IsItPrime(userinput,ptr) == 1)
{
printf("The number: %i is a prime number”, userinput);
exit(0);
}
printf("The number: %i is a composite number”, number);
return 0;
}
int IsItPrime (int number, int *ptr)
{
int ceiling, i = 0;
ceiling = number / 2;
for (i = 2; i <= ceiling; i++)
if (number % i == 0)
return 0;
return 1;
}
我已经尝试过我能想到的一切。这可能是显而易见的事情,但我在C中没有太多的经验。任何建议都会非常感激!
谢谢!
答案 0 :(得分:0)
IsItPrime
的本地,您无法访问main函数中的变量number
。and press Enter: “);
醇>
答案 1 :(得分:0)
其他人已经指出在主函数中无法访问数字。
如果您发布了错误消息会更有帮助。
无论如何,这里有两件事可能会有所帮助:
您是否包含stdio.h?
从未见过,所以不确定之前是怎么回事:但字符串的结束双引号不是正常的双引号,而是某种德语或法语的双引号。