逗号表达式

[C语言] 递归收尾_C语言

(v1,v2)     依次执行v1、v2表达式           值相当于 v2


逆序输出字符



#include <stdio.h>

int my_strlen(char* str)
{
int count = 0;
while (*str != '\0') //'\0'是字符串结束标志
{
count++;
str++;
}
return count;
}

void print_str(char* str)
{
int left = 0;
int right = my_strlen(str) - 1; //str传入首字符地址

while(left<right)
{
char tmp = str[left]; // str[left]进阶写法 :> *(str+left)
str[left] = str[right];
str[right] = tmp;
left++;
right--;
}
}

int main()
{
char arr[] = "abcde";
print_str(arr);
printf("%s\n", arr);
return 0;
}



递归思想逆序

[C语言] 递归收尾_C语言_02                           [C语言] 递归收尾_C语言_03


第一次判断条件   bcde有4个字符大于等于2



递归求和


#include <stdio.h>

int DigitSum(int sum)
{
if (sum > 9)
return DigitSum(sum / 10) + sum % 10;
else
return sum;

}

int main()
{


int num = 1729;
int sum = DigitSum(num);
printf("%d", sum);
return 0;

}