首页 > 代码库 > c语言

c语言

例子:涉及字符串、字符、指针、++等

例一:字符串与字符

#include <stdio.h>void reverse(char *str){    char *end=str;  printf("%c\n",*str); //结果是a    //printf("%s",*str); //以字符串输出,有错误   printf("%s\n",str); //这样输出字符串是对的   printf("%c\n",*end);  printf("%s\n",end); printf("%c\n",*str+1); //结果是b
}
int main(){ reverse("abcdef"); return 0;}

 例二:统计字符串单词的个数【如何去掉空格的问题】

#include "stdio.h"  int count_word(char *str); void main(){    char str1[80];   int sum=0;     puts("please enter a string");   gets(str1);    sum=count_word(str1); //返回的count就是sum    printf("there are %d words in this sentence",sum); }   int count_word(char *str) {     int count,flag;     char *p;     count=0;     flag=0;      p=str;       while(*p!=\0)/*当字符串没有到结尾的时候,重头到尾的循环*/       {         if(*p== )/*假如字符串遇到空格,就将flag清零,同时可以过滤掉多余的空格*/         flag=0;         else if(flag==0)/*当字符串不是空格时,假如flag为0,那么计算器加1,既是遇到空格后的第一个字符时*/         {           flag=1;/*将flag标记回1,这样在遇到第一个字符后的字符时可以将他过滤掉,直到遇到空格时,在清零*/           count++; //count就是统计单词数的变量。其实就是单词数的第一个字符,后面的字符都没有统计了           }           p++; //继续加一。没有遇到空格的时候 。直到继续遇到空格或结尾的时候,才不加一了。          }      return count;     } 

 例三:字符串反转

#include <stdio.h>void reverse(char *str){    char *z=str; char *end=str;   char tmp;    if(str)      {        while(*end)         {                             ++end;                   }        --end;    //回退一个,找到null      while(str < end)       {                       tmp = *str;             *str++ = *end;           *end--=tmp;         }             }   printf("%s",z);  }int main(){  char s[]="1234546";    reverse(s);//上面两句,如果直接这么写 reverse("123456789"); 就会有一个报警错误    return 0;}

 例四:字符串长度

#include <stdio.h>void reverse(char *p){    if( *p==\0)     return ;     reverse(p+1);     printf("%c",*p);    }int main(){    reverse("abcdefghjklmn");//为4    printf("%d",sizeof("abc"));//为3         printf("%d",strlen("abc"));    printf("\n");    return 0;        }

例五:字符串反转【用递归和指针的方式】

#include <stdio.h>void reverse(char *p){    if( *p==\0)     return ;     reverse(p+1);     printf("%c",*p);    }int main(){    reverse("abcdefghjklmn");    printf("\n");    return 0;        }

 

c语言