有关printf函数处理过程,值得注意
来源:百度文库 编辑:神马文学网 时间:2024/06/30 21:35:50
#include
int main(){
int a[]={1,2,3,4,5};
int *ptr=a;
// ptr = &a;
*(ptr++)+=10;
printf("%d %d\n",*ptr,*(++ptr));
return 0;
}
此程序运行过程中,ptr先指向数组a的第0个元素。
执行完*(ptr++)+=10;时,指针指向数组的第一个元素a[1]且a[1]的值变为11;
执行printf("%d %d\n",*ptr,*(++ptr));时,由于printf函数处理时涉及到函数参数入栈的问题,所以先将第一函数参数入栈,再将第二个参数入栈,计算时由于对栈来讲,是先进后出,所以先计算*(++ptr),指针指向a[2];再计算*ptr;因此程序运行结果为3,3;
总结:
printf函数处理时,是自右向左的,这是C语言里面函数参数入栈的顺序,对于这些简单参数没什么影响,但如果参数是函数的话就需要注意了。
int main(){
int a[]={1,2,3,4,5};
int *ptr=a;
// ptr = &a;
*(ptr++)+=10;
printf("%d %d\n",*ptr,*(++ptr));
return 0;
}
此程序运行过程中,ptr先指向数组a的第0个元素。
执行完*(ptr++)+=10;时,指针指向数组的第一个元素a[1]且a[1]的值变为11;
执行printf("%d %d\n",*ptr,*(++ptr));时,由于printf函数处理时涉及到函数参数入栈的问题,所以先将第一函数参数入栈,再将第二个参数入栈,计算时由于对栈来讲,是先进后出,所以先计算*(++ptr),指针指向a[2];再计算*ptr;因此程序运行结果为3,3;
总结:
printf函数处理时,是自右向左的,这是C语言里面函数参数入栈的顺序,对于这些简单参数没什么影响,但如果参数是函数的话就需要注意了。
有关printf函数处理过程,值得注意
Printf和Scan函数的使用方法
一个车主处理“碰瓷”得过程,值得借鉴 - 哈弗车友会 - 车吧
一个车主处理“碰瓷”得过程,值得借鉴 - 哈弗车友会 - 车吧
一个车主处理“碰瓷”的过程,值得借鉴
一个车主处理“碰瓷”得过程,值得借鉴
一个车主处理“碰瓷”得过程,绝对有用值得学习
一个车主处理“碰瓷”得过程,值得借鉴 转帖
值得注意的28个处理人际关系小原则28
DELPHI常用过程和函数
mysql存储过程与函数
c# 日期有关的函数
c# 日期有关的函数
转载:一个车主处理“碰瓷”得过程,值得借鉴_大众_腾讯论坛
一个车主处理“碰瓷”得过程,值得借鉴 - 凤凰车友会 - 凤凰论坛
【图】一个车主处理“碰瓷”的过程,值得借鉴【转载】-爱丽舍车友
一个车主处理“碰瓷”得过程,值得借鉴|凯越车友会|别克车友会
SQL字符串处理函数大全
按位处理函数(ARM)
处理“碰瓷”得过程
Printf格式
与字符串数组有关的三个函数(Split函数、Join函数、Filter函数)
oracle存储过程 与 函数基础
中华网论坛十周年--一个车主处理“碰瓷”的过程,值得借鉴!(转贴)--网友影响中国--全国...