【发布时间】:2017-11-15 18:58:53
【问题描述】:
如果我想要一个来自索引的数组的整数,例如:“int value = ar[n]”,我总是会得到巨大的整数。这代表它的最大尺寸(我认为)。
输入(标准输入)
4
3 2 1 3
代码:
int main(int argc, const char * argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
int n;
scanf("%i",&n);
int ar[n];
int counter = 0;
int tempValue;
for(int ar_i = 0; ar_i < n; ar_i++){
int value = ar[ar_i];
if(tempValue < ar[ar_i]){
counter = 1;
tempValue = ar[ar_i];
printf("%i", tempValue);
}else if(tempValue == value){
counter = counter + 1;
}
}
[pool drain];
return 0;
}
printf("%i", tempValue);例如给出输出“1598483120”。 将任何对象转换为 (int) 都没有帮助。
我有什么问题吗?或者发生了什么?
【问题讨论】:
-
tempValue未初始化。 -
int ar[n];是一个未初始化的本地数组。 -
我的评论是针对 C 标签的。为什么当问题标题显示“Objective-c”时它仍然存在?
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];在 C 代码中做了什么? -
@WeatherVane - 这不是 C 代码,它看起来像是作为 Objective-C 命令行应用程序的标准 Xcode 模板开始的。当然,添加的代码几乎是纯 C,问题本身与语言无关......无论如何,这将解释标签。
标签: objective-c integer