今天看到这样一种写法,原文链接:一个有趣的C语言程序
#include <stdio.h>
int main()
{
int a = 1;
int x[5]={1,2,3,4,5};
printf("%d",a[x]);
return 0;
}
output: 2
今天看到这样一种写法,原文链接:一个有趣的C语言程序
#include <stdio.h>
int main()
{
int a = 1;
int x[5]={1,2,3,4,5};
printf("%d",a[x]);
return 0;
}
output: 2
#include "stdio.h"
typedef struct test //建立结构体
{
int a;
int b;
int c;
}T;
T testt(int aa,int bb,int cc) //建立函数
{
T aaa;
aaa.a=aa*bb;
aaa.b=aa*cc;
aaa.c=bb*cc;
return aaa; //返回结构
}
int main()
{
T b=testt(4,5,6);
printf("%d %d %d \n",b.a,b.b,b.c);
T *f=&b;
printf("%d %d %d",f->a,f->b,f->c);
}
因为int变量的大小为四个字节,所以如果利用int指针变量+1输出地址的话,实际上是加了四个字节后的地址.
而char的大小刚好为一个字节,是我们想要的东西.
这样我们可以强制转换为char指针变量输出每个字节的地址然后+1,+2,+3来分别输出int的四个字节的地址,得到我们想要的内容.
代码如下
int a=-65;
char *b=(char *)&a;
printf("%p\n%p\n%p\n%p\n",a,a+1,a+2,a+3);
符号 作用
%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
当limφ(x)→0时,
sinφ(x)~φ(x)
arcsinφ(x)~φ(x)
tanφ(x)~φ(x)
arctanφ(x)~φ(x)
ln(1+φ(x))~φ(x)
eφ(x)−1~φ(x)
aφ(x)−1~φ(x)lna
n1+φ(x)−1~n1φ(x)
(1+φ(x))μ−1~μφ(x)
1−cosφ(x)~2(φ(x))2
绑定手机号:微信,网易云,淘宝原手机号及证件,支付宝,google
银行卡,贴吧,酷安,微博需要原手机号,bilibili(需要原手机号)