第二句话是定义了 一个结构体数组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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)