【无标题】

当实参传给形参时只是一份临时拷贝!对形参的改变不会改变实参

形参和实参分别占不同的内存块

void swap(int x, int y)
{
    int t = 0;
    t = x;
    x = y; 
    y = t;
}
int main()
{
    int a = 10, b = 20;
    printf("a=%d b=%d\n", a, b);
    swap(a, b);
    printf("a=%d b=%d", a, b);
    return 0;
}

但是传入地址 形成你的改变能引起实参的改变

>>   <<算术左移 算术右移  相当于二进制移位  去掉最右边的最左边补符号位 0正 1负

>>相当于除以2  <<相当于乘以2;

int main()
{
    int a = -16;
    int b = a >> 1;
    int c = a << 1;
    printf("%d\n %d", b,c);
    return 0;
}

输出结果为-8 -32

指针类型决定了指针进行解引用操作时能访问空间的大小

int *p *p一次能访问四个字节

char *p 一次能访问一个字节

double *p可以访问八个字节

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a[] = { 3,44,38,5,47,15 };
    int end, i;
    
    int t;
    for (i = 0; i < 6; i++)
    {
        end = i;
        while (end >= 0)
        {
                if (a[end + 1] < a[end])
            {
            t = a[end + 1];
            a[end + 1] = a[end];
            a[end] = t;
            end-- ;
            
            }
                else break;
        }
        
    }
    for (i = 0; i < 6; i++)
    {
        printf("%d\n", a[i]);
    }
    return 0;
}
将一个乱序数组按从小到大顺序排序,从第一个元素开始如果大于后面的元素则三部交换法交换它们的值 直到比到第1个元素 这一轮循环才算结束

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值