argv[0]
是您的程序的名称。如果你想读取你的参数,首先阅读argv[1]
。当然,您还应该检查是否有一些使用argc > 1
的参数。
或者你可以使用[[NSProcessInfo processInfo] arguments]
int main(int argc, const char* argv[]){
@autoreleasepool {
for (NSInteger i = 0; i < argc; i++) {
NSString *stringArgument = [NSString stringWithFormat:@"%s", argv[i]];
NSLog(@"%@", stringArgument);
NSLog(@"Integer value: %i", [stringArgument intValue]);
}
}
return 0;
}
或
int main(int argc, const char* argv[]){
@autoreleasepool {
for (NSString *argument in [NSProcessInfo processInfo].arguments) {
NSLog(@"%@", argument);
NSLog(@"Integer value: %i", [argument intValue]);
}
}
return 0;
}
参数:10 20
输出:
ObjcTest [65709:1964435] /项目/ ObjcTest /建立/ P RODUCTS /调试/ ObjcTest
ObjcTest [65709:1964435]的整数值:0
ObjcTest [65709:1964435] 10
ObjcTest [65709:1964435]的整数值:10
ObjcTest [65709:1964435] 20
ObjcTest [65709:1964435]整数值:20
请注意,第一个参数不能转换为整数,因此打印值为0
。
这里有两个问题1.代码问题2.算法问题。你应该分开解决这两个问题。现在的问题太广泛了(“为我写这篇作业”)。 – Sulthan
您的“输入”和“输出”示例没有意义。 – Sulthan
更新的问题 – Vizllx