Consider the function f defined below.
struct item {
int data;
struct item * next;
};
int f(struct item *p) {
return ((p == NULL) || (p->next == NULL)||
((p->data <= p ->next -> data) &&
f(p->next)));
}
For a given linked list p, the function f returns 1 if and only if
-
the list is empty or has exactly one element
-
the elements in the list are sorted in non-decreasing order of data value
-
the elements in the list are sorted in non-increasing order of data value
-
not all elements in the list have the same data value
I m not getting it ,there is no return 1 statment so how thiz will right ?