萌新疑惑,求原因
查看原帖
萌新疑惑,求原因
747186
abyss10086楼主2022/8/6 23:53

我一开始的for循环终止条件是i <= 3 ,但是只能输出前两个值,改成 i <= 5 就过了。 错误代码如下

#include <stdio.h>

int main()
{
	int a , b , c , x , y , z , sum ;
	char ch ;
	scanf ( "%d %d %d" , &x , &y , &z ) ;
	sum = x + y + z ;
	a = x ;
	if ( a > y )
	{
		a = y ;
	} 
	if ( a > z )
	{
		a = z ;
	}
	c = x ;
	if ( c < y )
	{
		c = y ;
	}
	if ( c < z )
	{
		c = z ;
	}
	b = sum - a - c ;
	for ( int i = 1 ; i <= 3 ; i++ )
	{
		scanf ( "%c" , &ch ) ;
		if ( ch == 'A' )
		{
			printf ("%d ",a);
		}
		if ( ch == 'B' )
		{
			printf ("%d ",b); 
		}
		if ( ch == 'C' )
		{
			printf ("%d ",c);
		} 
	} 
	return 0 ;
}

后来我换成C++,for循环中输入语句改为cin >> ch , 但是AC解的i的终止条件为i <= 3。为什么使用这两个函数时AC的i的终止条件不同啊? 求原因,谢谢!

2022/8/6 23:53
加载中...