C语言代码要求解释.b=(an);和第一有什么区别?第一void main(){unsignde a,b,c;int n;scanf("%d,%d",&a,&n);b=an;c=c|b;printf("%o\n%o\n",a,c);}第二void main(){unsignde a,b,c;int n;scanf("%d,%d",&a,&n);b=(an);printf("%o\n%o\n",a,c);}
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/08 12:15:05
C语言代码要求解释.b=(an);和第一有什么区别?第一void main(){unsignde a,b,c;int n;scanf("%d,%d",&a,&n);b=an;c=c|b;printf("%o\n%o\n",a,c);}第二void main(){unsignde a,b,c;int n;scanf("%d,%d",&a,&n);b=(an);printf("%o\n%o\n",a,c);}
C语言代码要求解释.b=(an);和第一有什么区别?
第一
void main()
{
unsignde a,b,c;
int n;
scanf("%d,%d",&a,&n);
b=an;
c=c|b;
printf("%o\n%o\n",a,c);
}
第二
void main()
{
unsignde a,b,c;
int n;
scanf("%d,%d",&a,&n);
b=(an);
printf("%o\n%o\n",a,c);
}
C语言代码要求解释.b=(an);和第一有什么区别?第一void main(){unsignde a,b,c;int n;scanf("%d,%d",&a,&n);b=an;c=c|b;printf("%o\n%o\n",a,c);}第二void main(){unsignde a,b,c;int n;scanf("%d,%d",&a,&n);b=(an);printf("%o\n%o\n",a,c);}
运算符优先级:算数运算符>关系运算符>赋值运算符;
你的代码改一下,结果就一样了;表达式都是一样的含义
如果这样:
b=an;
b=c|b;
printf("%o\n%o\n",a,b);
上面的代码就等价于下面的代码:
b=(an);
printf("%o\n%o\n",a,b);
但是下面的代码没有对c的引用,出现一个警告