赋值中的数组非左值

Ein*_*ols 2 c arrays

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;
Run Code Online (Sandbox Code Playgroud)

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

hac*_*cks 6

r=5&&c=10;  
Run Code Online (Sandbox Code Playgroud)

意思 r = (5&&c) = 10是哪个0 = 10或哪个1 = 10.

说明: 这样做的原因是优先级&&运营商比更高=,因此5c被绑定到&&运营商第一.绑定后,这个表达式看起来像

r=(5&&c)=10;   
Run Code Online (Sandbox Code Playgroud)

这相当于任何一个

r= 0 =10;   
Run Code Online (Sandbox Code Playgroud)

要么

r= 1 =10;  
Run Code Online (Sandbox Code Playgroud)

这两种表达背后的原因是5 && c将返回truefalse取决于c(无论是否0)的值.
根据OP的评论

如何连接r = 5和c = 10

你可以这样做

if (choice==1)
{
    r = 5;
    c = 10;
}   
Run Code Online (Sandbox Code Playgroud)