有个看不懂的问题
这里面的if后面的我没看懂,我不知道为什么可以执行if后面的printf的内容,if后面的小括号不是只起判断的作用吗#include <stdio.h>
int main()
{
char ch = "FishC";
int i;
printf("请输入你想访问的字符序号(0~5):");
scanf("%d", &i);
if (!(i >= 0 && i <= 5 && printf("%c\n", ch)))
{
printf("非法访问!\n");
}
return 0;
}
if 不就是把括号里的表达式进行判断,如果结果正确就把 1 返回给 if ,此时 if 判断正确,进行 if 程序段吗,
这些 视频里不都有吗,{:10_262:} Max472 发表于 2021-8-15 10:57
if 不就是把括号里的表达式进行判断,如果结果正确就把 1 返回给 if ,此时 if 判断正确,进行 if 程序段吗 ...
但那个printf在括号的表达式里面啊 superswagy2002 发表于 2021-8-15 11:10
但那个printf在括号的表达式里面啊
刚才没注意看{:10_262:}
这个会执行啊,就像
while ( i++ < n )
{
...
}
这个 i 会一直自增,直到不符合 判断语句,没有输出不代表它不执行啊,有输出他就输出了 运算符的优先级和运算方向
>=,<=优先级高于&&
且都是自左向右,i满足时,
会从左向右依次执行。
i的值不符合时,直接跳出 printf
正确返回输出的字符总数,错误返回负值。 if 先执行表达式 得到结果再判断啊
页:
[1]