再也不敢用memset了

shao 发表于 3年前 · 关联问题 The odd integer

memset 函数适用于 *char , 要想重置数组还是用 fill 函数或者 fill_n 吧,本人在这里因为 memset 坑了好多次。

#include <bits/stdc++.h> using namespace std; int a[1010]; int main(void) { int m, n, k; cin >> m; for (int j = 0; j < m; j++) { cin >> n; fill_n(a, 1010, 0); while (n--) { cin >> k; a[k]++; } for (int i = 0; i < 1010; i++) { if (a[i] & 1) { printf("No%d. The odd integer is: %d.\n", j + 1, i); break; } } } return 0; }

bobby285271 发表于 3年前

......

memset(a, 0, sizeof(a));

shao 发表于 3年前

妙啊,不过memset置0还可以,置其它数可能就不好使了

郑坤升 发表于 3年前

置其他数也没问题呀,如果只是置0,还不如大括号呢