C语言的三位运算符的问题

img


根据程序以及三位运算符的内容,输入10和15,输出的应该是大一点的15而不是如截图一样的10,很奇怪,不理解

目测,你输入的逗号,是中文全角的宽逗号
你输入的时候关闭输入法,输入英文的窄逗号就行了。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/226089
  • 你也可以参考下这篇文章:用C语言和数据结构解决十进制转换为二进制的问题
  • 除此之外, 这篇博客: C语言分支语句和循环语句及练习中的 14、打印10个数中的最大值 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    假设第一个元素就是最大值,拿剩下的九个数字和max比较,如果比max大,就把较大值放进max

    #include <stdio.h>
    
    int main()
    {
    	int arr[10] = { 0 };
    	int i = 0;
    
    	for (i = 0; i < 10; i++)
    	{
    		scanf_s("%d", &arr[i]);
    	}
    
    	int max = arr[0]; // 假设第一个元素就是最大值
    	// 拿剩下的九个数字和max比较
    	for (i = 0; i < 10; i++)
    	{
    		if (arr[i] > max)
    		{
    			max = arr[i];
    		}
    	}
    
    	printf("%d\n", max);
    
    	return 0;
    }
    

    从第一个数开始

    #include <stdio.h>
    
    int main()
    {
    	int arr[] = { -1, -2, -3, -4, -5, -6, -7, -8, -9, -10 };
    	int max = arr[0]; // 不能等于0 避免负数比较 从第一个数开始 
    	int i = 0;
    	int sz = sizeof(arr) / sizeof(arr[0]);
    	for (i = 1; i < sz; i++)
    	{
    		if (arr[i] > max)
    		{
    			max = arr[i];
    		}
    	}
    	printf("max = %d\n", max);
    	return 0;
    }
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^