抱歉,如果我很傻,为什么我的代码在printf("Please select an operator. ie +,-,* ");
之后无法运行
#include<stdio.h>
int main()
{
char op;
int a11,a12,a21,a22;
int b11,b12,b21,b22;
int m11,m12,m21,m22;
printf("Matrix Calculator!\n");
printf("Please enter the values for a11\n");
scanf("%d",&a11);
printf("Please enter the values for a12\n");
scanf("%d",&a12);
printf("Please enter the values for a21\n");
scanf("%d",&a21);
printf("Please enter the values for a22\n");
scanf("%d",&a22);
printf("Please enter the values for b11\n");
scanf("%d",&b11);
printf("Please enter the values for b12\n");
scanf("%d",&b12);
printf("Please enter the values for b21\n");
scanf("%d",&b21);
printf("Please enter the values for b22\n");
scanf("%d",&b22);
printf("Please select an operator. ie +,-,* ");
scanf("%c",&op);
switch(op){
case ('*'):
m11 = a11*b11+a12*b21;
m12 = a11*b12+a12*b22;
m21 = a21*b11+a22*b21;
m22 = a21*b12+a22*b22;
printf("Your m11 = %d\nYour m12 = %d\nYour m21 = %d\nYour m22 = %d",m11,m12,m21,m22);
printf("\a");
break;
case ('+'):
m11 = a11+b11;
m12 = a12+b12;
m21 = a21+b21;
m22 = a22+b22;
printf("Your m11 = %d\nYour m12 = %d\nYour m21 = %d\nYour m22 = %d",m11,m12,m21,m22);
case ('-'):
m11 = a11-b11;
m12 = a12-b12;
m21 = a21-b21;
m22 = a22-b22;
printf("Your m11 = %d\nYour m12 = %d\nYour m21 = %d\nYour m22 = %d",m11,m12,m21,m22);
break;
return 0;
}
}
答案 0 :(得分:0)
scanf("%c", &op);
-> scanf(" %c", &op);
您需要在scanf()
格式的占位符中的%c之前添加空格。