if (choice==1)
for(i=0;i<r;i++){
for(j=0;j<c;j++)
masivs[i][j]=rand();
printf("Sakummasivs: \n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
printf("%7d", masivs[i][j]);
printf("\n");
}
else if (choice==2)
{
printf("Ievadiet skaitlus\n");
for(i=0;i<r;i++){
for(j=0;j<c;j++)
{
masivs[i][j]=choice;
}
}
else
for(i=0;i<r;i++){
for(j=0;j<c;j++)
masivs[i][j]=rand();
printf("Sakummasivs: \n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
printf("%7d", masivs[i][j]);
printf("\n");
}
错误在这一行,但我不明白为什么
else if (choice==2)
答案 0 :(得分:2)
这个for循环
for(i=0;i<r;i++){
需要一个闭合支撑。
如果您使用了一致的缩进,这将是显而易见的。
答案 1 :(得分:0)
由{
和}
定义的范围:
if (choice==1)
for(i=0;i<r;i++) {
...
for(i=0;i<r;i++)
{
...
}
else if (choice==2)
...
}
应该是:
if (choice==1) {
for(i=0;i<r;i++) {
...
for(i=0;i<r;i++)
{
...
}
}
}
else if (choice==2) {
...
}
答案 2 :(得分:0)
首先,我建议使用C-pretty打印机。然后你可能想要在逻辑上需要左右括号。一个猜测是以下,删除括号前面的“//”注释。
if (choice==1)
//{
for(i=0;i<r;i++){
for(j=0;j<c;j++)
masivs[i][j]=rand();
printf("Sakummasivs: \n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
printf("%7d", masivs[i][j]);
printf("\n");
}
//}
//}
else if (choice==2)
{
printf("Ievadiet skaitlus\n");
for(i=0;i<r;i++){
for(j=0;j<c;j++)
{
masivs[i][j]=choice;
}
}
else
//{
for(i=0;i<r;i++){
for(j=0;j<c;j++)
masivs[i][j]=rand();
printf("Sakummasivs: \n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
printf("%7d", masivs[i][j]);
printf("\n");
}
//}
//}
//}
就像这样,语法正确,但可能在语义上不正确。
if (choice==1)
{
for(i=0;i<r;i++){
for(j=0;j<c;j++)
masivs[i][j]=rand();
printf("Sakummasivs: \n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
printf("%7d", masivs[i][j]);
printf("\n");
}
}
}
else if (choice==2)
{
printf("Ievadiet skaitlus\n");
for(i=0;i<r;i++){
for(j=0;j<c;j++)
{
masivs[i][j]=choice;
}
}
else
{
for(i=0;i<r;i++){
for(j=0;j<c;j++)
masivs[i][j]=rand();
printf("Sakummasivs: \n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
printf("%7d", masivs[i][j]);
printf("\n");
}
}
}
}