C语言自定义求两数最大值函数无输出问题求助
问题分析与解决
你的代码核心问题出在输出语句的格式符使用错误:
printf("%c", result);中的%c是用于输出ASCII字符的格式符,而你传入的整数2对应的是ASCII表中不可见的控制字符(STX,文本开始符),所以运行后看不到任何输出。- 另外代码缺少
#include <stdio.h>头文件,这是printf函数的必要依赖,部分编译器可能会因此报错或无法正常运行。
修正后的完整代码:
#include <stdio.h> int max(int num1, int num2) { int result; if (num1 > num2) result = num1; else result = num2; return result; } int main() { int result = max(1,2); printf("%d", result); return 0; // 可选,main函数返回0表示正常结束 }
说明:
- 用
%d格式符替代%c,用于输出十进制整数,这样就能正确打印出最大值2。 - 添加
#include <stdio.h>确保printf函数能被编译器识别。 - 可选添加
return 0;,符合C标准中main函数的返回规范。
内容的提问来源于stack exchange,提问作者Silvino AK
相关产品推荐
相关产品推荐

