Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 我希望程序生成一个值,但它没有这样做,并以响应代码0退出_Objective C_Xcode_Compiler Errors_Runtime Error - Fatal编程技术网

Objective c 我希望程序生成一个值,但它没有这样做,并以响应代码0退出

Objective c 我希望程序生成一个值,但它没有这样做,并以响应代码0退出,objective-c,xcode,compiler-errors,runtime-error,Objective C,Xcode,Compiler Errors,Runtime Error,嗯,我今天一直在做euler项目的问题,我看到了问题3,并开始在目标C中编程,它似乎不能正常工作。下面是我的代码,请检查,让我知道我犯了什么错误。我目前使用的是Xcode,脚本的目的是返回输入的最大素数因子 #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { int number,primefactor, x; bool isP

嗯,我今天一直在做euler项目的问题,我看到了问题3,并开始在目标C中编程,它似乎不能正常工作。下面是我的代码,请检查,让我知道我犯了什么错误。我目前使用的是Xcode,脚本的目的是返回输入的最大素数因子

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

@autoreleasepool {
    int number,primefactor, x;
    bool isPrime;
    NSLog (@"Please enter a number:");
    scanf ("%i", &number);
    for (primefactor = number;primefactor > 0;--primefactor)
    {
        if (number % primefactor == 0)
        {
            for (x = 2;x < primefactor;++x)
            {
                if (primefactor % x == 0)
                {
                    isPrime = FALSE;
                }
            }
        }
        if (isPrime == TRUE)
        {
            NSLog (@"%i", primefactor);
            break;
        }
    }
}
return 0;
}
#导入
int main(int argc,const char*argv[]
{
@自动释放池{
整数,素数因子,x;
bool-isPrime;
NSLog(@“请输入一个数字:”);
scanf(“%i”和编号);
对于(primefactor=number;primefactor>0;--primefactor)
{
如果(数字%primefactor==0)
{
对于(x=2;x

我希望程序返回一个值,但它没有返回值,并以0退出。您可以在

处签出输出代码中的错误是,
isPrime
必须在每次之前设置为
TRUE
检查
primefactor
候选项:

for (primefactor = number;primefactor > 0;--primefactor)
{
    if (number % primefactor == 0)
    {
        bool isPrime = TRUE; // <---- HERE
        for (x = 2;x < primefactor;++x)
        {
            if (primefactor % x == 0)
            {
                isPrime = FALSE;
            }
        }
        if (isPrime == TRUE)
        {
            NSLog (@"%i", primefactor);
            break;
        }
    }
}
for(primefactor=number;primefactor>0;--primefactor)
{
如果(数字%primefactor==0)
{

bool isPrime=TRUE;//“其功能不正确”-这是一个非常糟糕的问题描述。你的输入数据是什么,你得到了什么结果,你期望得到什么?我很抱歉,但为什么这个问题-1edWell,现在有人能给我一个更好的算法吗,它花费了太多的时间没有代码,只有algorithmI恢复了你上次的编辑,因为它完全改变了问题(并使未来的读者无法理解给定的答案)。您最初的问题是为什么上面的代码不能按预期工作。要求更好的算法是一个完全不同的问题,应该单独发布。我很抱歉,但是@MartinR做了很好的尝试,但是代码仍然不工作,如果您输入25,它仍然不会返回任何结果,因为在Xcode中所有布尔值都被预先初始化为TRUE.Source:在目标C中编程。但是,我仍然尝试将其初始化为TRUE。25的预期输出为5Plus,我给出了您要求的图像,并解释了您要求的错误for@user3486277:我已经测试了该代码,13195的输出为29,25的输出为5,正如预期的那样。-注意,我移动了一个如果(isPrime==TRUE)
部分进入for-loop。这很奇怪,事实上,我做了和你说的一样的事情,但是没有用。顺便说一句,还有一个是为了你的声誉。不,等等,我不能这样做,这样做需要15次回购