关于C语言的字符串的个人理解,大一新生,写错不要喷。一
程序员文章站
2022-07-15 08:46:53
...
//字符串和字符串数组
void main()
{
//对于输入字符串的方式有,a已经是字符串的地址了
char a[100];
gets(a);/*但是不建议使用gets进行字符串的
输入,因为会出现数据的溢出,从而产生bug,建议
使用fgets进行字符串的输入,因为这样可以防止数据
的溢出,确保精度*/
scanf("%s",&a);
fgets(a,100,sdin);//但是使用了fgets在输出的时候会
//自动生成一个回车换行键 //fgets的输入有点不同,就是第一个是a表示
// a的地址,100表示输入100个字符,
//stdin 表示一个标准的输入流式子,是一个
//输入的东西
//对于字符串的输出
printf("%s",a);
puts("%s",a);
putchar("%c"); //这输出是输出一个字符的意思
/*对于输入字符串组的方法有多种,这里列举两种方法进行示例*/
char a[] = {'a','b','c','\0'}
char a[] = "abc" /*问题出现了,这个很重要的
这两种方法都是一样的,都是表示
存放了abc这三个字母,组成字符串
但是第一种方法是需要进行在最后面
加上‘\0’这样才能表示字符串,不然就是
一个存储字符的字符数组类型了*/
}
/*测量字符串的长度,不使用for循环,而使用while循环,因为
需要测试的字符串长度式未知的,所以选while来测量长度 */
int lenght(char a[])
{
int i;
while(a[i]!='\0')//这个符号就是字符串的结束标志,使用这个做条件,就可以判断了
{
if(a[i]=='\n')
{
a[i]='\0' //i在这里面相当于a中的字符
break;
}
//进行这个操作是为了防止;连最后的‘\0’都计算进来
i++;
}
return (i);
}
#include <stdio.h>
#include <string.h>
int main() //测量字符串的长度,使用strlen,同时要用
//头文件#include <string.h>,不然会报错
{
char a[] = "你好,广东技术师范大学,你在河源还是在天河呢?";
int t;
int p;
char *p1;
t = strlen(a);
p = sizeof(a)/sizeof(char)-1; //后面加上一个减一就和下面那个一样成为46的长度
printf("这种方式计算出来的长度是%d\n",p);
printf("a的字符串长度是%d\n",t);
return 0;
}
这是第一个部分,刚刚学,后续有时间的话会更新。
上一篇: C语言学习笔记9