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()
{
/* 定义一个整形指针p */
int *p;
int begin, end;
begin = 10;
/* 给指针p赋初值 */
p = &begin;
& ......
源码:
# include <stdio.h>
int main()
{
int i, j, k;
/* 变量i从0到4,表示所画菱形图的第一至第五行 */
for(i = 0; i <= 4; i++)
{
/* ......
源码:
# include <stdio.h>
int main()
{
int x, y, num1, num2, temp;
printf("请输入两个正整数:\n");
scanf("%d %d", &num1, &num2);
if(num1 < num2)
......
源码:
# include <stdio.h>
/* 子函数声明 */
int square(int x); // 实现求平方值的子函数
int cube(int y); // 实现求立方值的子函数
int main()
{
int m = 12;
int n = 4;
printf("%d %d\n", sq ......