问题 This code seems to work as expected, populates an array of numbers using a single pointer #include <stdio.h> #include <ctype.h> #include <stdlib.h> int main(void) { int arr[4], count = 0, i; char *p, s[32] = " \t 10, 15 \n ,20, 25 , "; p = s; do { arr[count++] = (int)strtol(p, &p, 10); while (isspace(*p) || *p == ',') p++; } while (*p); for (i = 0; i < count; i++) { printf("%d\n", arr[i]); } return 0; } My question is: It is valid to use p as param1 (source) and &p as param 2 (address of the