C/C++知识点之c语言字符数组和指针的经典用法
小标 2018-12-03 来源 : 阅读 1395 评论 0

摘要:本文主要向大家介绍了C/C++知识点之c语言字符数组和指针的经典用法,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍了C/C++知识点之c语言字符数组和指针的经典用法,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

1.字符数组

    许多情况下,对字符串的处理使用字符数组会更加方便,比如:
    我觉得不改变字符串的原有顺序,对字符串进行删除等操作时,使用字符数组效果会更好。
    eg:给定字符串(ASCII码0-255)数组,请在不开辟额外空间的情况下删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个。例如:"   i    am a      little boy.    ",变成"i am a little boy",语言不限,但不要用伪代码作答.
    answer:
#include #include 
using namespace std;string FormatString(char str[], int len){ //if (str == NULL || len <= 0)  //return;
 int i = 0, j = 0; while (str[i] == ‘ ‘)//开头的空格,通过移动索引达到删除空格的目的  i++; while (str[i] != ‘\0‘) {  if (str[i] == ‘ ‘ && (str[i + 1] == ‘ ‘ || str[i + 1] == ‘\0‘))//中间或者结尾的空格,判断是否有两个空格或者结尾了。用i和i+1体现了数组索引的用途  {   i++;   continue;  }  str[j++] = str[i++]; //程序核心,通过索引完成删除空格的操作,j是小于等于i的。 } str[j] = ‘\0‘; return str;}
void main(){ char ch[] = "i  e."; cout << FormatString(ch,5); system("pause");}
2.指针操作
    在对字符串的移动进行操作时,使用指针往往会更加方便。
    eg:
字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,def35adh3kjsdf7,输出为defadhkjsdf3537。answer:
#include void main(){    char buf[256];    char *p=buf; //两个指针,一个负责遍历操作,一个负责存放操作后的字符串    char *q=buf;    char ch;    printf("Please input a string:");    scanf("%s", buf);    while(*p)    {        while(*p<‘0‘||*p>‘9‘)p++;/*找到第一个数字*/        q=p;        while(*q>=‘0‘ && *q<=‘9‘)q++; q="" ch="*q;">p)        {            *q=*(q-1); //把ch中的字符移到数字前面            q--;        }        *q=ch; //实现了把字符放在数字前面    }    printf("Output string: %s\n",buf);    printf("Press any key to exit.\n");    getch();}

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved