C编程 - printf语句给出“表达式预期”错误

时间:2016-10-19 01:16:58

标签: c

这是我发布的第一个问题,所以如果不完全正确,我会提前道歉。我在调试我编写的一段代码时遇到问题。当试图编译代码时,我得到一个奇怪的错误,指向我的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中没有太多的经验。任何建议都会非常感激!

谢谢!

2 个答案:

答案 0 :(得分:0)

  1. 数字是函数IsItPrime的本地,您无法访问main函数中的变量number
  2. 第6行(printf语句)和其他printf语句
  3. 中的语法错误and press Enter: “);

答案 1 :(得分:0)

其他人已经指出在主函数中无法访问数字。

如果您发布了错误消息会更有帮助。

无论如何,这里有两件事可能会有所帮助:

  1. 您是否包含stdio.h?

  2. 从未见过,所以不确定之前是怎么回事:但字符串的结束双引号不是正常的双引号,而是某种德语或法语的双引号。