记录一下C语言中字符串的相关问题!

版权声明:自话自说,雅俗共赏,欢迎转载,贴上链接! https://blog.csdn.net/qq_40185499/article/details/83783681

最近在努力提高自己编程水平,想着先把C语言温习一下吧! 结果发现好久不编程,大一学的C语言全还给老师了!只能边搜索,边写了,记录我的错误!都是老师讲过的,当时太年轻没实践!!
所以学代码还得多写啊!

主要集中处理字符串这一块的内容!

问题1:读取问题

char plaintext[K];
printf("Please input plaintext!\n");
gets(plaintext);

记得gets()前边加getchar()不然会无法读取。scanf() ,用%s是无法读取带空格的字符串的,需要用%[^\n]

问题2:区分以下几个概念

char *p[K];             //char型指针数组
char p;                 //字符串

char s[];               //字符串数组
char *w = s;           //字符串数组指针

反正我有印象老师讲了好多次,反正当时太浪了没听,只能补习了!

1)

    #include<stdio.h>
    int main(int argc, char const *argv[])
    {
    	char str[]="Wo shi la ji!";
        char *p=str;
        printf("%s\n", str);
        printf("%s\n", p);
        printf("%c%c%c\n", *p, *p+2, *(p+1));
    	return 0;
    }

看输出就知道

Wo shi la ji!
Wo shi la ji!
WXo

2)

#include<stdio.h>

int main(int argc, char const *argv[])
{
	int i;
    char *p[5]={"abc","def","ghi","jkl","mno"};
    for(i = 0;i < 5; i++)
    	printf("%s\n", p[i]);
	printf("%s\n", *p);
	printf("%s %s %s %s\n", *p+1, *p+2, *p+3, *p+4);
	printf("%s %s %s\n", *(p+1), *(p+2), *(p+3));

    return 0;
}

输出

abc
def
ghi
jkl
mno
abc
bc c  def                  //c和def之间有俩空格
def ghi jkl

3)

字符串传参时候,不用取地址,

先就这些吧!

写给自己, 人不能太浪 , 基础不稳,地动山摇, 多干实事!

猜你喜欢

转载自blog.csdn.net/qq_40185499/article/details/83783681