i may only require unsigned type
I mean these two forms:
/*1*/
if (!p ? ++i : 0)
break;
/*2*/
if (!p){
++i;
break;
}
Unless there is some horrible expense (unrelated to the language
itself) associated with the extra lines, the obvious answer is "Go
with the code that is easier to understand!" In the real world,
maintenance costs usually far exceed development costs.
Your attempt to force the code to use the conditional operator is 1)
sufficiently obfuscated to require all these messages, and 2)
unnecessarily and unintuitively restrictive (i cannot be 0; oops, i
must also be unsigned).
Since the simpler statement is the natural(tm) language construct to
do what you want, the answer to your previous question is: NO! It is
not suitable change case 2 into case 1.
Remove del for email