您的位置:首页 > 编程语言 > C语言/C++

C语言指针入门(一)

2017-11-30 21:56 141 查看
一、不用strlen实现此函数功能,数组下标从0开始

例一:

#include<stdio.h>

#include<string.h>

int main()

{

         intn,i=0;

         chara
;

         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
;

         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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: