题目要求输出较大的数,但我写的代码他只输出a的值
题目要求输出较大的数,但我写的代码他只输出a的值,求路过的大佬帮我看看#include<stdio.h>
int main()
{
int max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c = max(a,b);
printf("max =%d\n",c);
return 0;
}
int max(int x,int y)
{
int z;
if(x > y)z = x;
else z = y;
return (z);
}
这段代码中只输出了变量a的值,这可能是因为在输入时使用了逗号分隔符,而不是空格。修改scanf语句中的逗号为空格,即可正确输入两个变量的值。
修改后的代码如下:
#include <stdio.h>
int max(int x, int y);
int main() {
int a, b, c;
scanf("%d %d", &a, &b);
c = max(a, b);
printf("max = %d\n", c);
return 0;
}
int max(int x, int y) {
int z;
if (x > y) {
z = x;
} else {
z = y;
}
return z;
}
另外,建议在if语句中加上花括号,以增加代码的可读性和可维护性。 你好!根据你提供的代码,我注意到你在输入数据时使用了%d,%d作为格式化字符串来读取两个整数。这是不正确的格式化字符串,应该只使用%d来读取整数。
以下是修正后的代码:
#include <stdio.h>
int max(int x, int y) {
int z;
if (x > y)
z = x;
else
z = y;
return z;
}
int main() {
int a, b, c;
scanf("%d%d", &a, &b);
c = max(a, b);
printf("max = %d\n", c);
return 0;
}
请注意,我将scanf语句中的%d,%d改为了%d%d,这样就可以正确地读取两个整数。另外,我将原来的printf语句中的输出格式修改为max = %d\n,以保证输出的结果符合题目要求。
希望能帮到你!如果你有其他问题,请随时提问。
球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:} Mike_python小 发表于 2023-10-12 17:37
你好!根据你提供的代码,我注意到你在输入数据时使用了%d,%d作为格式化字符串来读取两个整数。这是不正确 ...
谢谢大佬 但是报错了 贴不了照片 所以我直接搬报错信息过来了
Error: Invalid type ' int' in declaration of 'a,b,c'
错误文件路径(error file path):/var/mobile/Containers/Data/Application/E1E9F8B6-7560-494A-B186-4B76850B29F6/Documents/KepData/
script/4.cpp
哪行出错(wrong line):11
Error: Symbol int abc is not defined in current scope
错误文件路径(error file path):/var/mobile/Containers/Data/Application/E1E9F8B6-7560-494A-B186-4B76850B29F6/Documents/KeepData.
script/4.cpp
哪行出错(wrong line):11
!!! return from main() function isdkz 发表于 2023-10-12 17:36
这段代码中只输出了变量a的值,这可能是因为在输入时使用了逗号分隔符,而不是空格。修改scanf语句中的逗号 ...
谢谢大佬指点 你的代码真好看
页:
[1]