【发布时间】:2021-01-16 17:51:03
【问题描述】:
int main(void)
{
int arr[] = { 2, 3, 4, 10, 40 };
int n = sizeof(arr) / sizeof(arr[0]);
int x = 2;
int result = binarySearch(arr, 0, n - 1, x);
(result == -1) ? printf("Element is not present in array")
: printf("Element is present at index %d",
result);
return 0;
}
所以在 (result==-1) 旁边是 ?和 : 。现在我以前从未见过这些东西,也不知道它们是如何工作的,它们是像 True of false statements 还是像 switch-cases?
【问题讨论】:
-
这不是一个教程网站。
-
?: 用于将值返回给表达式。他们在这里所做的是做一个 if 语句,然后故意混淆它而没有任何好处。如果它可以以更易读的方式完成,那么它应该是。我不会称这是最易读的方式...
标签: c