对下面C语言程序的解析...

对下面C语言程序的解析...,第1张

首先,node是结构体(struct),p是指向这个结构体的结构体指针。在node里面有两个成乎模员,一个是整数n,一个是结构体指针next。这个是结构体的嵌套了。

第二句话是定义了 一个结构体数组x,元素有3个,分别是{2,x+1},{4,x+2},{6,NULL}。

第三句话是p指向了这个数组的数组名,因为数组名代表首地址,所以,p指向岁慧缓了第一个元素:{2,x+1}。

第四句话p->n是说这个指针指向元素的n成员的值是多少,那碧孝很明显是2,所以输出2.

第五句话是指这个指针所指向的p->next指向的位置的n是多少。那么这个next又等于是x+1,x是数组的第一个元素的地址,x+1就变成了第二个元素的地址,那么就是{4,x+2},所以这个时候n就是4.

6385

这是大致分析。

char ch[2][5]={"6934","8254"},*p[2] //定义了一个二维数组的字符串,和指针孙如。

int i,j,s=0

//这个循环 是 将ch的值,赋给指针*p[0],*p[1]

for(i=0i<2i++)

p[i]=ch[i]

//这两个循环则码启是将指针P[0],P[1]的偶数位 转换为int型 赋给S。

for(i=0i<2i++)

for(j=0p[i][j]>'0'&&p[i][j]<='模掘9'j+=2)

s=10*s+p[i][j]-'0' //这句话就是将char型,转换为int型的语句。

//逻辑就是对应的数字的ASCII码值,减去'0'的ASCII码值。

printf("%d\n",s)//打印S;结果为6385 。

1.

#include "stdio.h"

main()

{

printf("\n\n%d,%d\n",20/7,-20/7)

printf("%f,%f\n",20.0/7,-20.0/7)

}

运行截图

分析:

\n 表示换行

%d 表示以十进制形式输出带符号整数(正数不输出符号)

%f 表示以小数形式输出单、双精度实数

2.

#include "stdio.h"

main()

{

int x

char y

x=65

y='B'

printf("x=%c\n",x)

printf("y=%c\n",y)

printf("y=%d\n",y)

}

运行截图

分析:

%c 表示输罩薯漏枝出单个字符

3.

#include "stdio.h"物搜者

main()

{

int i=7,j=7,p,q

p=(i++)+(i++)+(i++)

q=(++j)+(++j)+(++j)

printf("%d,%d,%d,%d",p,q,i,j)

}

运行截图

分析:

i++ 表示先使用i,然后i的值加1

++i 表示先把i的值加1,再使用i


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8278333.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存