00问答网
所有问题
C语言中------printf("%d\n" *(p++));前面的语句省略,那么这个*(p++)是什么意思啊?
在这个语句执行输出时这个*(p++)执行顺序是什么?
举报该问题
推荐答案 2012-03-29
*(p++) 的意思就是 (p++) 是地址加1 但是因为++在后面 所以是先取值 地址再加以
,比如说 p="abc" printf("%d\n" *(p++)); 输出是a 因为是 %d 输出应该是104 地址指向 b
如果你再来一个 printf("%d\n" *(p++)); 这个时候地址++ , 输出 b
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/rITj0jreI.html
其他回答
第1个回答 2012-03-21
给你个例子:
取当前指针的字符,然后p指针在跳一字节,比如说 p="abc";
*(p++) 取 'a' 然后p 指针指向 "bc"本回答被提问者采纳
相似回答
printf(
"a[
%d
]=%d\n",i++,*
p++);
这是怎么意思?
答:
int i;p=b; // 初始化,p指向 b[0]for (i=0;i<5;i++){
printf(
"a[
%d
]=%d\n",i++,*
p++);
// p 依次指向 b[0],b[1],b[2]} } 打出:a[0]=2 a[2]=4 a[4]=6 i 循环时,循环语句里要 i++, 打印语句里又 i++, 所以 打出 0,2,4 ...
c语言
问题,圆周率近似值……4-4/3+4/5-4/7+4/9……,回答程序要计算多少...
答:
include<stdio.h> void main(){ int a,b,i=1,n,m,p=100,x=2;double pi=3.141592,s=4.0,an;for(n=1;p<=100000
;n++)
{ i=-1*i;m=2*n+1;an=4.0/float(m);s=s+i*an;a=int(s*p);b=int(pi*p);if(a==b){
printf(
"s=%.*f n=
%d
\n",x,a/(double)(p),n...
{int a[4]={10,20,30,40},*p=a;printf('
%d
\n",*
p++);printf(
"%d\n",+...
答:
第一个
printf(
'
%d
\n",*
p++)中的
前单引号应为双引号。输出应为:10 21 21 看下面的注释:void main(void){ int a[4]={10,20,30,40},*p=a;//p是指针指向了a[0]printf("%d\n",*
p++);
//++的优先级虽高于*,但是后++,所以*p输出a[0]=10;然后p增1指向a[1]printf("%d\n"...
...p=a; k=
&p;
printf(
"
%d
"
,*(p++));
printf("%d\n",**k); }_百度知...
答:
printf(
"
%d
\n",**k);//上面语句"
*(p++)
"已经使指针p往后以一个位置,即此时p指针指向a[1],保存了a[1]的地址。*p就是a[1]的值为4.//k指针指向p,k保存了p的地址,*k就是指针p保存的值,即a数组的首地址。所以**k就是*p的值,即a[1]的值为4 结果24 是2 和 4的 组合而成的....
大家正在搜
相关问题
printf("%d %d",*p,*(p++));和pri...
c语言 printf("**(p+1) %d\n",**(p...
C语言的题目高手帮忙解释下 printf ("%d\n",p...
C语言中当程序在输出时使用了printf("%d\n",*(...
c语言 *p++与(*p)++、*(p++)三者异同?
for(; i<=p; i++,j--),前面第一个分号省略...
在C语言中 语句 printf("%d%d%%d%d",1+...