这道题很容易出错,我定义一个默认值为-1
的index
变量,无论是否找到目标值都最后都要重置为-1
。否则在首次找到目标值后,该值会影响后面输入的判断,即便没有找到索引都会大于-1
。
#include <stdio.h>
int main() {
int num, nums[20], target, index = -1;
while(scanf("%d", &num) != EOF) {
for(int i = 0; i < num; i++) {
scanf("%d", &nums[i]);
getchar();
}
scanf("%d", &target);
for(int i = 0; i < num; i++) {
if(nums[i] == target) {
index = i;
break;
}
}
index > -1 ? printf("%d\n", index) : printf("No\n");
index = -1;
}
return 0;
}