欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于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;
}

这是第一个部分,刚刚学,后续有时间的话会更新。