#include <string.h>
#include <stdio.h>
#include <math.h>
#include <Windows.h>
// 递归的斐波那契
int fei_bo(int n){
if (n<=2){
return 1;
}else{
return fei_bo(n-1) + fei_bo(n-2);
}
}
// 倒序打印字符串
void putCh(char* str, int len){
if(len < (int)strlen(str)){
putCh(str, len+1);
}
printf("%c", str[len-1]);
}
int main(int argc, char **argv){
SetConsoleOutputCP(65001); // 解决中文乱码 2
printf("argc: %d\n", argc);
// 打印参数
for (int i = 0; i < argc; i++)
{
printf("第%d个: %s\n", (int)(i+1), argv[i]);
}
char str[] = "123456";
printf("str : %p\n", str); // 输出的时第一个元素的地址
printf("item1: %c\n", *str); // 输出的时第一个元素
printf("item2: %c\n", *(str+(int)sizeof(char))); // 输出的时第二个元素
printf("&str : %p\n", &str); // 输出的是整个数组的地址,与 str 相同
printf("item2: %c\n", *(&str+(int)sizeof(char))); // &str表示数组的指针, 所以会按照数组的长度进行位移
// 调用方法倒序打印字符串
putCh(str, 1); // 因为str是一个数据, 会隐式转换为指向数组第一个元素的指针
return 0;
}