【发布时间】:2013-07-09 05:54:55
【问题描述】:
当我想打印 2 时它打印 3。我不明白我只增加一次的原因。还让我知道这是否正确使用指针 t 指针?我只是做了一个示例代码来看看指针是如何工作的。
#include<stdio.h>
void main(){
int a1[] = {1,2,3,4,5,6};
int a2[] = {7,8,9,10,11,12};
int *a3 = a1;
int *a4 = a2;
int **a[2];
a[0] = a3;
a[1] = a4;
printf("%d",*(++(*a)));
}
【问题讨论】:
-
你不应该在函数参数中做增量。
-
对第二个问题的简短回答:否。更彻底的回答:他||不!这太疯狂了。
-
我不会停止,直到它的有效代码:stackoverflow.com/questions/17540026/…
-
@Bhaskar void main 不是标准的,您应该使用 int main 代替。此外,此代码不会为我编译。但是,如果我将
int **a[2];更改为int *a[2]我会得到 2 的预期打印(而不是您的问题所暗示的 3。 -
好问题是有效的..但他似乎没有显示他的完整代码..:)