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);
	}
}
相关推荐
wen__xvn1 小时前
每日一题洛谷P1914 小书童——凯撒密码c++
数据结构·c++·算法
BUG 劝退师2 小时前
八大经典排序算法
数据结构·算法·排序算法
m0_748240912 小时前
SpringMVC 请求参数接收
前端·javascript·算法
小林熬夜学编程2 小时前
【MySQL】第八弹---全面解析数据库表的增删改查操作:从创建到检索、排序与分页
linux·开发语言·数据库·mysql·算法
小小小白的编程日记2 小时前
List的基本功能(1)
数据结构·c++·算法·stl·list
_Itachi__2 小时前
LeetCode 热题 100 283. 移动零
数据结构·算法·leetcode
柃歌2 小时前
【UCB CS 61B SP24】Lecture 5 - Lists 3: DLLists and Arrays学习笔记
java·数据结构·笔记·学习·算法
鱼不如渔3 小时前
leetcode刷题第十三天——二叉树Ⅲ
linux·算法·leetcode
qwy7152292581633 小时前
10-R数组
python·算法·r语言
月上柳梢头&3 小时前
[C++ ]使用std::string作为函数参数时的注意事项
开发语言·c++·算法