新手 C 语言问题

plicpijule1981

New member
你好,我正在尝试编写一个函数,从用户输入中扫描5个数字,并打印最小值,但是一旦运行它,它就会打印最后一个输入的数字:{
 

abuladli1982

New member
“你到底想做什么?# 包括int main(void){ int i,num,min,k; for(i = 0; i <5; i ){ //在这里将输入放在名为num的int中 scanf(“%d”,&num); //在这里将num分配给min for(k = 0; k <1; k ){ min = num; } //在这里检查num是否小于min,但num已经是min,所以它将始终为false。 如果(num <min){ min = num; } } printf(“%d”,min); 返回0;}”
 

uscycneadel1987

New member
在循环中使用 min 之前,你不应该初始化它吗?如果你也输入了负值,可能是像 min=0 或 min=-65535。
 

ruppluntopa1983

New member
在您的代码中不变式“num < min”始终是假的,这就是为什么你的代码有错误行为的原因。只需删除这个没有用的循环和k,它就会工作。还要像其他人之前所述一样,用INT_MAX初始化min。
 

hovildewet1976

New member
我不确定你想要做什么。但我建议将这些数字存储在数组中,只需遍历数组并选择最小数字。没有必要将最小值分配给INT_MAX,你可以假设数组中的第一个数字是最小值。
 
顶部