C语言指针入门(一)

一、不用strlen实现此函数功能,数组下标从0开始

例一:

#include<stdio.h>

#include<string.h>

int main()

{

         intn,i=0;

         chara[n];

         scanf("%s",a);

         while(a[i]!='\0')

                   i++;

         printf("%d",i);

}

运行结果:

abcde

5

例二:

#include<stdio.h>

#include<string.h>

int main()

{

         intn,i=1;

         chara[n];

         scanf("%s",a);

         while(a[i-1]!='\0')

                   i++;

         printf("%d",i-1);

}

运行结果:

happy

5

二、不用strcpy实现该功能

#include<stdio.h>

int main()

{

         chara[400]={'a','b','c','d'};

         charb[4000];

         inti=0;

         while(a[i]!='\0')

         {

                   b[i]=a[i];

                   printf("%c",b[i]);

                   i++;

         }

}

运行结果:abcd

三、选择排序冒泡排序

选择:第一个数和后面所有数比,最小的放前面

     下一次第二个和后面所有比

     for

四、gets,puts运用

#include<stdio.h>

#include<string.h>

int main()

{

         inti;

         chara[3][20];

         for(i=0;i<3;i++)

         {

                   gets(a[i]);

                   puts(a[i]);

         }

}

运行结果:

abcd

abcd

efghcd

efghcd

wenwanwan

wenwanwan

五、将最大字符串放入str

#include<stdio.h>

#include<string.h>

int main()

{

         inti;

         chara[3][20];

         for(i=0;i<3;i++)

         {

                   gets(a[i]);

                   puts(a[i]);

         }

         charstr[20];

         strcmp(a[0],a[1]);

         if(strcmp>0)

                   strcpy(str,a[1]);

         else

                   strcpy(str,a[0]);

         strcmp(str,a[2]);

         if(strcmp>0)

                   strcpy(str,a[2]);

         else

                   strcpy(str,str);

         printf("%s",str);

}

运行结果:

abcd

abcd

efghcd

efghcd

wenwanwan

wenwanwan

wenwanwan

六、函数调用(2.c

七、关于return

#include<stdio.h>

int main()

{

         inta=1;

         f1(a);

         printf("%d",f1(a));  

}

int f1(x)

{

         x++;

   return x;

}

运行结果:2

若没有return x;则结果为1.

八、址传递  *:取值符,后加地址

#include<stdio.h>

intmain()

{

        int a=0;

        printf("%d\t",&a);

        f1(&a);

        printf("%d\t",f1());

        printf("%d",a);

}

intf1(int a)

{

        return a++;  /*此处++为地址上的加1,而不是值上的加1*/

}

运行结果:-1077560368    -1077560367    0

九、运算符

单目:++--

双目:+-*\><

三目:a<b?a:b(输出小的值)

#include<stdio.h>

intmain()

{

        int a,b,t;

        scanf("%d,%d",&a,&b);

        t=a<b?a:b;

        printf("%d",t);

}

运行结果:

8,9

8

十、在字符串数组指定位置插入字符

#include<stdio.h>

intmain()

{

        char a[100]={"abcdfgh"};

        int i;

        for(i=7;i>3;i--)

        {

                  a[i]=a[i-1];

        }

        a[4]='e';

        for(i=0;i<100;i++)

        printf("%c",a[i]);

}

运行结果:abcdefgh

在字符串数组指定位置插入字符串

最大公约数、最小公倍数、辗转相除法

串函数程序:strins,strcpy,strlen,strmax,gs,sort,triple

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值