C_利用函数的引用调用实现两数的交换
源码:
# include <stdio.h>
void swap(int *x, int *y);
int main()
{
int i, j;
i = 12;
j = 36;
printf("i and j before swapping: %d %d\n", i, j);
swap(&i, &j); // 传递变量i和j的地址,深刻理解此时:&i为变量的地址,而i为变量(值)
// 调用swap函数的传递过程为:x=&i ; y=&j ;
printf("i and j after swapping: %d %d\n", i, j);
return 0;
}
void swap(int *x, int *y) // 深刻理解此时:*x为变量(值)而x为指针(地址)
{
int temp;
temp = *x; /* 存储变量x的值 */
*x = *y; /* 将y的值放入到x中 */
*y = temp; /* 将x的值放入到y中 */
}
相关文档:
提出问题:
回调函数是基于C编程的Windows SDK的技术,不是针对C++的,程序员可以将一个C函数直接作为回调函数,但是如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。
分析原因:
普通的C++成员函数都隐含了一个传递函数作为参数,亦即“this”指针,C++通过传递一个指向自身的指 ......
源码:
# include <stdio.h>
int main()
{
int i, j, k;
int m, n, p;
i = 8;
j = 10;
k = 12;
/* 自增在操作数之前 */
  ......
源码:
# include <stdio.h>
int main()
{
int x, y;
printf("请输入自变量x:");
scanf("%d", &x);
if(x < 6)
{
  ......
源码:
# include <stdio.h>
int main()
{
int num;
/* 下面定义的各变量,分别代表个位,十位,百位,千位,万位,十万位以及位数 */
int indiv, ten, hundred, thousand;
int ten_thousand, hundred_thous ......
源码:
# include <stdio.h>
/* 宏定义 */
# define MAX 100
# define LEN 80
/* 一个非常简单的文本编辑器 */
int main()
{
char text[MAX][LEN]; // 定义字符型数组
register int t, i, j; /* 定义三个寄存器变量 */
  ......