当形参传递给实参时,形参时实参的临时拷贝,对形参的修改不会影响实参。
1.
void add(int* num)
{
(*num)++;
}
int main()
{
int num=0;
add(&num);
printf("%d", num);
return 0;
}
2.交换两个数的顺序
int lzy(int* a, int* b)
{
int temp=0;
temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int m, n;
scanf("%d %d", &m, &n);
int* pa = &m;
int* pb = &n;
printf("交换前m=%d n=%d\n", m, n);
lzy(pa, pb);
printf("交换后m=%d n=%d", m, n);
return 0;
}
3.四个数按从大到小输出
int lzy(int* x, int* y)
{
int z;
if (*x < *y)
{
z = *x;
*x = *y;
*y = z;
}
}
int main()
{
int a, b, c, d;
scanf_s(" %d %d %d %d", &a, &b, &c, &d);
lzy(&a, &b);
lzy(&a, &c);
lzy(&a, &d);
lzy(&b, &c);
lzy(&b, &d);
lzy(&c, &d);
printf(" %d %d %d %d", a, b, c, d);
return 0;
}
二.
printf实现后,返回值是打印字符的个数(链式访问)
例如:
#include<stdio.h>
int main()
{
printf("%d", printf("%d", printf("%d", 123)));
return 0;
}
这个打印的内容是123 3 1
先打印123,123是三个字符打印3,3是一个字符然后打印1
三.
数组在传递参数时,传递的时首元素的地址
四:
memset的认识
头文件<string.h>
#include<stdio.h>
#include<string.h>
int main()
{
char arr[] = "hello china";
memset(arr,'X',5);
printf("%s", arr);
return 0;
}
运行结果: