黑马程序员技术交流社区

标题: C语言 字符串赋值 [打印本页]

作者: 愿我能    时间: 2014-4-16 02:19
标题: C语言 字符串赋值
之前有道基础测试题没做出来,想着马上要准备入学考试,C都没搞定,寝食难安啊,就是不懂如何将两个字符串中相同的内容提取出来,看过网上的一些方法,都用的许多不懂的函数,自己看很迷糊,就是想知道比较两个字符串,都是单词,如何赋值个一个新的字符串,这一步不太会(我当时的题目是得到多个字符串最大公共字符串,感觉java的话好简单)
作者: FlyTrem    时间: 2014-4-16 09:42

  1. #include<stdio.h>//调用printf函数需要声明的头文件
  2. #include<string.h>//调用strlen函数需要声明的头文件

  3. //定义函数,主要是用来辨别各个字符串的长度,返回最短的字符串长度
  4. int len(char a[], char b[], char c[])
  5. {
  6.         int  size,size1, size2,size3;
  7.         size1 = strlen(a);
  8.         size2 = strlen(b);
  9.         size3 = strlen(c);
  10.         size = size1;
  11.         if (size2 < size)
  12.                 size = size2;
  13.         if (size3 < size)
  14.                 size = size3;
  15.         return (size);
  16. }
  17. //定义主函数
  18. int main()
  19. {
  20.         int k,size,i=0,max=0,j=0,m;//定义整型变量看,k,i,max,j,m,并将0赋给i,max,j。
  21.         //定义字符串a[],b[],c[]。
  22.         char a[] = "afasdfdaaaaafghssggggg";
  23.         char b[] = "asasdfsaaaaadagggg";
  24.         char c[] = "dsasdfdaaaaafadfggg";
  25.        
  26.         size = len(a, b, c);//引用函数len
  27.        

  28.         for (k = 0; k < size; k++)//遍历小于siae字节数的所有字符
  29.         {
  30.                 if (a[k] == b[k] && a[k] == c[k])//如果a[k] == b[k] && a[k] == c[k]则执行下面语句
  31.                 {
  32.                         i++;
  33.                         continue;//跳出本次循环,直接判断上级循环条件
  34.                 }
  35.                 if (i>max)
  36.                 {
  37.                         //记录最长公共字符的起始角标和总结角标
  38.                         max = i;
  39.                         j = k - i;
  40.                         m = k;
  41.                         i = 0;
  42.                 }
  43.         }
  44.         printf("最大子字符串是\n");
  45.         //历遍j到(m-1)的所有字符
  46.         for (i = j; i<m; i++)

  47.                 //打印每个a[i]
  48.                 printf("%c", a[i]);

  49.         return 0;//结束函数
  50. }
复制代码

参考一下,希望有帮助!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2