这是我看文章时有些疑惑
1.#define_CRT_SECURE_NO_WARNINGS 1这句话是什么意思?有什么作用呢?
2.他的运行过程是从主函数开始运行到print()函数然后调用print()函数然后运行返回值结束这一过程吗?
3.为什么他的运行结果会出现数字之间的空格符呢?
4.他的调用函数print()内部是如何运算的,我不太理解,能举个例子说明运行过程吗?
问题1回答:宏定义,表明编译不打印警告;
问题2回答:递归调用的规则可能需要好好学习下,先一级级调用,再由内向外执行打印信息!
问题3回答:格式化打印,用双引号,默认会添加一个空字符,空字符即空格键!
1,忽略平台报的一些警告。
2,是的
3,因为是字符串,所以系统会加一个'\0',而这个字符你是看不见的,所以就看起来是空格
4,
主函数main运行到子函数
第一次进print的是1234,满足if,然后执行m/10即m/10=123
将123传给第二次print,依旧满足if,执行m/10=12
将12传给第三次print,依旧满足if,执行m/10=1
将1传给第四次print,不满足if,输出1%10=1
第四次的print执行完毕
开始回到第三次的print未执行完的部分,即12%10=2
第三次的print执行完毕
开始回到第二次的print未执行完的部分,即123%10=3
第二次的print执行完毕
开始回到第一次的print未执行完的部分,即1234%10=4
第一次的print执行完毕
然后回到main主程序中。