专题7 三个程序(国嵌C语言视频)

本文通过三个C语言程序实例深入探讨了指针运算、数组访问及内存操作的细节。包括指针类型转换后的内存地址解读、字符串密码验证、二维数组元素的间接访问等核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 
#include<stdio.h>

int main()
{
    char* p = "hello world!";
    int a = (int)p;
    short s = 'c';

    printf("%c\n", (long)(*((int*)p)));
    printf("%c\n", (long long)(*(((long long*)p)+1)));
    printf("%s\n", a);
    printf("%s\n", &s);
    while(1);
    return 0;
}



2.


#include<stdio.h> 

int main(int argc, char *argv[]) 
{ 
    int flag = 0; 

    char passwd[10]; 

    memset(passwd,0,sizeof(passwd)); 

    strcpy(passwd, argv[1]); 

    if(0 == strcmp("LinuxGeek", passwd)) 
    { 
        flag = 1; 
    } 

    if( flag ) 
    { 
        printf("\n Password cracked \n"); 

    } 
    else 
    { 
        printf("\n Incorrect passwd \n"); 
    } 

    return 0; 

}



3.


#include <stdio.h>

void main()
{
    int TestArray[5][5] = { {11,12,13,14,15},
                            {16,17,18,19,20},
                            {21,22,23,24,25},
                            {26,27,28,29,30},
                            {31,32,33,34,35}
                          };
    int* p1 = (int*)(&TestArray + 1);
    int* p2 = (int*)(*(TestArray + 1) + 6);

    printf("Result: %d; %d; %d; %d; %d\n", *(*TestArray), *(*(TestArray + 1)), 
                                           *(*(TestArray + 3) + 3), p1[-8], 
                                           p2[4]);
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值