版权声明:自话自说,雅俗共赏,欢迎转载,贴上链接! 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)
字符串传参时候,不用取地址,
先就这些吧!