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);
	}
}
相关推荐
xlq223224 小时前
22.多态(上)
开发语言·c++·算法
666HZ6664 小时前
C语言——高精度加法
c语言·开发语言·算法
sweet丶4 小时前
iOS MMKV原理整理总结:比UserDefaults快100倍的存储方案是如何炼成的?
算法·架构
云里雾里!5 小时前
力扣 209. 长度最小的子数组:滑动窗口解法完整解析
数据结构·算法·leetcode
CoderYanger6 小时前
递归、搜索与回溯-穷举vs暴搜vs深搜vs回溯vs剪枝:12.全排列
java·算法·leetcode·机器学习·深度优先·剪枝·1024程序员节
憨憨崽&6 小时前
进击大厂:程序员必须修炼的算法“内功”与思维体系
开发语言·数据结构·算法·链表·贪心算法·线性回归·动态规划
chem41117 小时前
C 语言 函数指针和函数指针数组
c语言·数据结构·算法
liu****8 小时前
八.函数递归
c语言·开发语言·数据结构·c++·算法
客梦8 小时前
数据结构-树结构
数据结构·笔记
CM莫问8 小时前
详解机器学习经典模型(原理及应用)——岭回归
人工智能·python·算法·机器学习·回归