C语言 精选真题6

//难道是因为上一个程序没有关所以打不开?

void fun(char *a,char *b)
{
	while(*a=='0')
	{
		a++;
	}
	*b=*a;
	a++;
	b++;
	while(*a!='\0')
	{
		if(*a!=' '&&*(a-1)==' ')
		{
			*b=*a;
			b++;
		}
        a++;         //无论是否复制,a都要自增实现遍历
	}
	*b='\0';
}
//无论是用指针遍历还是字符数组遍历都可以
/*空字符的ASCII码和字符'0'的ASCII码是不一样的。
空字符'\0'和字符'0'在ASCII码表中是两个完全不同的字符,它们的ASCII码值也不同。

1.空字符(Null Character):
空字符在C语言中表示为'\0',它是一个特殊的字符,用于表示字符串的结束。
空字符的ASCII码值是0(即整数值0)。
2.字符'0'(Digit Zero):
字符'0'是表示数字0的字符,在文本和字符串中常见。
字符'0'的ASCII码值是48(十进制)。

1.字符指针:
char *a 和 char *b 是字符指针,它们用于指向字符数组(字符串)的首元素。
通过指针,我们可以直接访问和修改字符串中的字符。
2字符串遍历:
使用 while 循环和指针递增 (a++、b++) 来遍历字符串。
*a 和 *b 分别用于访问指针 a 和 b 当前指向的字符。  while循环遍历字符串;for循环遍历指针
3.字符串结束标志:
字符串在 C 语言中以空字符 '\0' 结尾。
在 while(*a!='\0') 循环中,检查是否到达字符串的末尾。
4.字符比较:
使用 == 和 != 运算符来比较字符。
例如,*a=='0' 检查当前字符是否为 '0',*a!='\0' 检查当前字符是否为字符串结束标志。
5.条件逻辑:
在 if 语句中,结合逻辑运算符 &&(与)来检查多个条件。
if(*a!=' '&&*(a-1)==' ') 检查当前字符不是空格且前一个字符是空格,用于识别单词的开始。
6.字符串修改:
通过赋值操作 *b=*a 来将字符从源字符串复制到目标字符串。
最后,使用 *b='\0' 在目标字符串的末尾添加空字符,确保它是一个有效的 C 字符串。
7.指针算术:
指针递增 (a++、b++) 用于移动到字符串中的下一个字符。
指针减法 (*(a-1)) 用于访问前一个字符。
函数定义和参数传递:
函数 fun 定义了两个参数,它们都是指向 char 类型的指针。
参数通过值传递,但在这种情况下,传递的是指针的值(即内存地址),因此函数内部对指针的修改会影响外部的数据。
*/
/*
这个代码的第一部分功能为获得首字母,我认为是有必要的。因为当首字母前面没有空格的时候,首字母的判断方法与中间单词首字母的判断方法不一样,第一部分的设置是有必要的。
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值