字符串是指针,以下使指针指向一个字符串的选项错误的是

  字符串是指针,以下使指针指向一个字符串的选项错误的是

  Yyds干货库存

  @TOC

  一.杨氏矩阵

  我们必须考虑时间复杂度。

  小于o(N)表示循环数不能是的两倍。

  #包含stdio.h

  int search(int arr[3][3],int *px,int *py,int k)

  int x=0;

  int y=* py-1;//最后一列的坐标

  while (x=*px - 1 y=0)

  If (arr[x][y] k)//如果第n行最后一列的元素值小于k,那么k的值一定在下面。

  x;

  Else if(arr[x][y] k)//如果N 1行最后一列的元素大于k的值,则意味着k的值可能在其左侧。

  y-;

  其他

  * px=x;//将坐标传回

  * py=y;

  返回1;

  返回0;

  int main()

  int arr[3][3]={ {1,2,3},{4,5,6},{7,8,9 } };

  int k=8;

  int x=3;

  int y=3;

  int ret=search(arr,x,y,k);//分别调用第X行和第Y列的地址,函数中对应的坐标位置就可以传回来了。

  if (ret==1)

  Printf (Found \n%d %d ,x,y);

  其他

  Printf(未找到\ n );

  返回0;

  }

  二。左手字符串

  1.

  #包含stdio.h

  #包含字符串. h

  void rotate(char* str,int k)

  int I=0;

  int j=0;

  char tmp=0;

  int len=strlen(str);

  for(I=0;I)//根据左转次数确定循环次数。

  tmp=* str//将第一个字符赋给tmp

  for(j=0;j len-1;J )//依次向前分配以下字符。

  *(str j)=*(str J1);

  str[len-1]=tmp;//最后一个字符由tmp赋值

  int main()

  char arr[]= ABCD ;

  int k=1;

  rotate(arr,k);

  printf(%s\n ,arr);

  返回0;

  }

  2.三步翻转法

  #包含stdio.h

  #包含字符串. h

  Void reverse (char * left,char * right)//两者互换

  同时(左/右)

  char tmp=0;

  tmp=* left

  *左=*右;

  *右=tmp

  左;

  右-;

  int main()

  char arr[]= ABCD ;

  int k=2;

  int len=strlen(arr);

  反向(arr,arr k-1);//要翻转的字符的逆序

  反向(arr k,arr len-1);//其余字符的顺序相反

  reverse(arr,arr len-1);//整体逆序

  printf(%s\n ,arr);

  返回0;

  }

  三。字符串旋转结果

  #包含stdio.h

  #包含字符串. h

  int rotate(char* str,char*str2)

  int I=0;

  int j=0;

  char tmp=0;

  int len=strlen(str);

  for(I=0;我lenI )//根据左转圈数确定循环圈数。

  tmp=* str//将第一个字符赋给tmp

  for(j=0;j len-1;J )//依次向前分配以下字符。

  *(str j)=*(str J1);

  str[len-1]=tmp;//最后一个字符由tmp赋值

  If (strcmp(str,str2)==0)//如果两个字符串相等

  返回1;

  返回0;

  int main()

  char arr 1[]= AABCD ;

  char arr 2[]= BCDAA ;

  int ret=rotate(arr1,arr 2);//左转判断所有情况。

  if (ret==1)

  printf( Yes \ n );

  其他

  printf( no \ n );

  返回0;

  四。反转字符串

  #包含stdio.h //我爱你。- .你爱我吗

  #包含字符串. h

  Voidswap (char * left,char * right)//两者互换

  同时(左/右)

  char tmp=0;

  tmp=* left

  *左=*右;

  *右=tmp

  左;

  右-;

  int main()

  char arr[]=我爱你;

  int len=strlen(arr);

  swap(arr,arr len-1);

  char * dest=arr

  char * src=arr

  while (*src!=\0)

  while (*src!= *src!=\0)

  src

  char * prev=src-1;

  swap(目标,前一个);

  if (*src!=\0)

  src

  dest=src

  printf(%s\n ,arr);

  返回0;

  }

  主要应用三步翻转法。

  我爱你。

  把整个翻过来。你先进化吧。

  把每个都翻一遍:你-你。evol-love I-I

  开始时,定义两个指针dest src

  使用dest指向每个小的全局字符的第一个。

  Src指向每个小的全局字符的最后一个

  由指向循环中的“”或“\0”的src触发

  Prev是找到前一个,也就是每个小整字的最后一个。

  在src之后,再次指向新的小整字的第一个循环。

  当src时,我们可以发现如果最后一个 \0 进来,没有

  判断将在while循环中结束。

  。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: