c语言每日学习8.24

void reverse_string(char* str) 为什么不用传递数组的长度?

在C语言中,字符串通常是以空字符'\0'结尾的字符数组。因此,当你传递一个字符串(即字符数组的指针)给函数时,函数可以通过遍历字符串直到遇到空字符来确定字符串的长度。这就是为什么reverse_string函数不需要显式传递数组长度的原因。

reverse_string函数内部,使用strlen函数可以计算字符串的长度,这是因为strlen函数会遍历字符串直到遇到空字符,并返回遍历过的字符数量(不包括空字符)。

所以,即使不传递数组的长度,reverse_string函数也能通过遍历字符串来确定其长度,并进行反转操作。

cpp 复制代码
#include<stdio.h>
int DigitSum(int n);
int main()
{

	int num = 0;
	scanf("%d", &num);

	printf("%d\n", DigitSum(num));

	return 0;
}
int DigitSum(int n)
{
	int a = n % 10;
	int temp = n / 10;
	
	if (n != 0)
	{
		return a + DigitSum(temp);
	}
	
}
cpp 复制代码
#include<stdio.h>
int power(int n, int k);
int main()
{
	int n = 0;
	int k = 0;
	scanf("%d %d", &n, &k);

	printf("%d\n", power(n, k));

	return 0;
}
int power(int n, int k)
{
	
	if (k != 0)
	{
		return n * power(n, k-1);
	}
}
相关推荐
u0109272713 分钟前
C++中的RAII技术深入
开发语言·c++·算法
青桔柠薯片5 分钟前
数据结构:顺序表与链表
数据结构·链表
2401_832131951 小时前
模板错误消息优化
开发语言·c++·算法
金枪不摆鳍1 小时前
算法--二叉搜索树
数据结构·c++·算法
近津薪荼1 小时前
优选算法——双指针6(单调性)
c++·学习·算法
向哆哆2 小时前
画栈 · 跨端画师接稿平台:基于 Flutter × OpenHarmony 的整体设计与数据结构解析
数据结构·flutter·开源·鸿蒙·openharmony·开源鸿蒙
helloworldandy2 小时前
高性能图像处理库
开发语言·c++·算法
2401_836563182 小时前
C++中的枚举类高级用法
开发语言·c++·算法
bantinghy2 小时前
Nginx基础加权轮询负载均衡算法
服务器·算法·nginx·负载均衡
chao1898442 小时前
矢量拟合算法在网络参数有理式拟合中的应用
开发语言·算法