2022/11/18拓展班上机课
创始人
2024-01-29 03:30:56

Vs的使用

  • 新建项目

  • 新建源文件

  • 关闭scanf_sprintf_s检查:project -> 属性 -> C/C++ -> 常规 ->SDL:否
    在这里插入图片描述
    在这里插入图片描述

  • char* str="..."出现”"const char *" 类型的值不能用于初始化 "char *" 类型的实体“错误:project -> 属性 -> C/C++ -> 语言 -> 符合模式:否
    在这里插入图片描述
    在这里插入图片描述

  • 调试

用指针表示字符串

关于指针

这是一个链接~ 什么是指针?

  • 两种指针运算符,一种是取地址运算符 &,一种是间接寻址运算符 *。
    • & 是一元运算符,返回操作数的内存地址。
    • * 是一元运算符,返回操作数所指定地址的变量的值。

指针的移动

#include
#include
int main() {char* str = "hello world";char* point = str;for (int i = 0; i < strlen(str); i++) {printf("%p:%c", point, *point);point++;}return 0;
}

字符串

  • 字符串的输入输出用到%s
    #include
    #include
    #include 
    int main() {//char* str;//直接这样不行char* str = (char*)malloc(sizeof(char)*30);scanf("%s", str);//不用取地址符了,str指向的就是一片地址空间printf("%s\n", str);char str1[30];printf("%d %d", sizeof(str1),sizeof(str));//30 8return 0;
    }
    
#include
#include
int main() {char *str = "hello world!";printf("str:%s,strlen:%d,sizeof:%d\n", str,strlen(str),sizeof(str));//str:hello world!,strlen:12,sizeof:8printf("%p\n", str);//00007FF72DB59C28printf("%c\n", *str);//hprintf("%p\n", str+1);//00007FF72DB59C29printf("%c\n", *(str+1));//ereturn 0;
}

数组表示字符串(和上面比较一下)

  • 在C语言中,使用string.h头文件中的 strlen() 函数来求字符串的长度。

  • 在C语言中,字符串总是以’\0’作为结尾,所以’\0’也被称为字符串结束标志,或者字符串结束符。由" "包围的字符串会自动在末尾添加’\0’。

    #include
    #include
    int main() {char str1[30] = { 'h','e','l','l','o' };printf("%s", str1);//hellochar str2[30];str2[0] = 'h';str2[1] = 'e';str2[2] = 'l';str2[3] = 'l';str2[4] = 'o';printf("%s", str2);//hello烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫虜悿f?return 0;
    }
    
  • 注意!字符数组只有在定义时才能将整个字符串一次性地赋值给它,一旦定义完了,就只能一个字符一个字符地赋值了。

    • char str1[] = "hello world"
    • char str1[] = {"hello world"}
    • char str2[30] = "hello world"
    • char str2[30] = {"hello world"}
    char str1[] = "hello world";
    //char str1[] = {"hello world"};
    printf("str:%s, strlen:%d, sizeof:%d\n",str1,strlen(str1),sizeof(str1));
    //str:hello world, strlen:11, sizeof:12char str2[30] = "hello world";
    //char str2[30] = {"hello world"};
    printf("str:%s, strlen:%d, sizeof:%d\n",str2,strlen(str2),sizeof(str2));
    //str:hello world, strlen:11, sizeof:30// char str[30];
    // str = "hello world";
    // 哒咩
    

数组和指针表示字符串是可以互换的

#include
#include
int main() {char str[] = "hello";char* point = str;for (int i = 0; i < strlen(str); i++)printf("%c %c %d\n", str[i], *(point + i), str[i] == *(point + i));/*h h 1e e 1l l 1l l 1o o 1*/return 0;
}

题目

在这里插入图片描述
在这里插入图片描述

char *match( char *s, char ch1, char ch2 ){int sign = 0;char* c = s;s = "";while(*c != '\0'){if(!sign&&*c == ch1) {sign = 1;s = c;}if(sign) printf("%c",*c);if(*c == ch2) break;c++;}printf("\n");return s;
}

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
平遥古城在哪 平遥古城基本现状 城垣恢宏,雉堞连云市井街巷,店肆林立四合院落,青砖瓦屋这里是平遥古城历经千年沧桑而古朴宛然,风姿依旧...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
平遥古城在哪 平遥古城基本现状 城垣恢宏,雉堞连云市井街巷,店肆林立四合院落,青砖瓦屋这里是平遥古城历经千年沧桑而古朴宛然,风姿依旧...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...