0

今天我正在编写这个程序,我遇到了两个问题。这是 OS X 项目的 Objective-C 中的完整代码:

#import <Foundation/Foundation.h>


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

    @autoreleasepool {

        int numx;
        int quadr;


        NSLog(@"Inserisci un numero");
        scanf("%i", &numx);

        quadr = numx * numx;

        NSLog(@"Il quadrato del tuo numero %i è: ", numx, quadr);


    }

    return 0;
}

第二个 NSLog 报告此错误:格式字符串未使用数据参数。为什么会产生这种错误?我可以通过哪种方式解决此错误?在程序的运行时更多地在输出写入之后意外完成:“Inserisci un numero”。当我插入数字请求时,程序不会根据第二个 NSLog 的要求显示数字平方。为什么我有这个中断?请帮帮我。我要了解发生了什么。

4

1 回答 1

0

你在那条线上得到的警告是正确的。

您传递的 quadr 参数未在格式字符串中使用。您传递的每个参数都需要在格式字符串中具有 % 等效项。

在下面的代码示例符合行中指定额外参数:

    NSLog(@"Il quadrato del tuo numero %i è %i", numx, quadr);
于 2013-05-07T14:19:10.413 回答