在c语言学习过程中,有许多容易被人忽略的问题.我以前身受其害,所以决定将其共享出来,大家一起讨论.
首先是大家最熟悉的输出函数printf( ).大家首先来看这样一个简单的程序.
#include<stdio.h>
int main()
{
int a[]={1,3,4};
int *p=a;
printf("The result is :%d %d",*p,*(p++));
return 0;
}
那么你认为结果会是多少呢?
哈哈,不知你的结果是否正确呢?The result is: 3 3
为什么会是这样的呢?因为在c语言规定了printf在输出是从右向左的,*(p++)使其指向了a[1],*p也同样如此.
所以在学习中应该注意这些细节!
祝你们好运!!