2
int masivs[row][col],i,j,n,choice,r,c;

system("cls");
srand(time(NULL));
printf("Darba autors Einars Ozols\n");
printf("Sakummasive aizpilde \n");
printf("Kadu masivu izveidot?\n Ja 5*10 spied 1 \n Ja 4*11 spied 2");
scanf("%d", &choice);
if (choice==1)
r=5&&c=10;

错误在 r=5&&c=10; 如何以不同的方式编写它?

4

2 回答 2

6
r=5&&c=10;  

表示 r = (5&&c) = 10要么是0 = 10要么1 = 10

解释: 原因是&&运算符的优先级高于=因此的优先级,5并首先c绑定到&&运算符。绑定后这个表达式看起来像

r=(5&&c)=10;   

这相当于

r= 0 =10;   

或者

r= 1 =10;  

任何一个表达式背后的原因是5 && c它将返回truefalse取决于c(无论是否0)的值。
根据OP的评论

如何接线 r=5 和 c=10

你可以这样做

if (choice==1)
{
    r = 5;
    c = 10;
}   
于 2013-10-02T17:41:59.677 回答
1
if (choice==1)
{
    r = 5;
    c = 10;
}

除了空白分布的细微变化外,如果您不想混淆它,这是编写它的唯一方法。

于 2013-10-02T18:07:07.807 回答