pib*_*180 5 c arrays pointers scanf
如果可以的话,请参考这个 hackerrank挑战.
问题是在数组中找到孤独的整数,给定一个数组只包含一对,除了一个孤独的整数.
问题出在这个测试用例上
9
4 9 95 93 57 4 57 93 9
Run Code Online (Sandbox Code Playgroud)
9是数组大小,下面是数组
查看// ------突出显示的代码部分
如果我将scanf("%d",&n)置于int arr [n]代码上方工作正常,但反过来会产生可怕的结果.请帮帮我
#include <stdio.h>
int lonely_integer(int* a, int size);
int main(){
//n is size of array, i is counter variable
int n, i, result;
// ---------------------
int arr[n];
scanf("%d", &n);
// ---------------------
printf("%d\n", n);
for(i = 0; i < n; i++){
scanf("%d", &arr[i]);
}
result = lonely_integer(arr, n);
printf("%d", result);
return 0;
}
int lonely_integer(int* a, int size){
int i;
int res = 0;
for(i = 0; i < size; i++){
res = res ^ a[i];
}
return res;
}
Run Code Online (Sandbox Code Playgroud)