运行结果:62345,不明白为什么不是23456
#include<stdio.h>
void f(int *q){
int i = 0;
for(;i<5;i++){
(*q)++;
}
}
int main(){
int a[5] = {1,2,3,4,5},i;
f(a);
for(i = 0;i<5;i++)
printf("%d",a[i]);
}
运行结果:62345,不明白为什么不是23456
#include<stdio.h>
void f(int *q){
int i = 0;
for(;i<5;i++){
(*q)++;
}
}
int main(){
int a[5] = {1,2,3,4,5},i;
f(a);
for(i = 0;i<5;i++)
printf("%d",a[i]);
}
(*q)++并没有移动q指针啊,等于把数组的第一个元素循环加了5遍1,自然就是62345了
for循环最后再加一句q++就行了