c - 从c中的键盘获取字符时出现多字符警告
问题描述
根据键盘输入的操作,想用switch结构做5个操作,但报错。我也尝试了 getchar 和 putchar 函数......
int main()
{
char proc;
int firstNum,secondNum,result;
printf("* Multiplication\n/ Division\n+ Add \n- Minus\n%c Mode", '%');
printf("\nEnter the first number: ");
scanf("%d",&firstNum);
printf("\nEnter the second number: ");
scanf("%d",&secondNum);
printf("\nEnter the process: ");
scanf("%c",&proc);
switch(proc) {
case '*':
result=firstNum*secondNum;
printf ('%d',result);
break;
case '/':
result=firstNum/secondNum;
printf ('%d',result);
break;
case '+':
result=firstNum+secondNum;
printf ('%d',result);
break;
case '-':
result=firstNum-secondNum;
printf ('%d',result);
break;
case '%':
result=firstNum%secondNum;
printf ('%d',result);
break;
default:
printf('Warning!');
break;
}
警告:多字符字符常量 [-Wmultichar]
警告:传递 'printf' 的参数 1 使指针从整数而不进行强制转换 [-Wint-conversion]
解决方案
对于初学者使用
scanf(" %c",&proc);
^^^
(参见字符 & 之前的空白)而不是
scanf("%c",&proc);
并使用双引号在这样的语句中指定字符串文字
printf ( "%d",result);
^^^^
或这个
printf("Warning!");
^^^ ^^^
而且您在程序末尾忘记了一个右括号。
推荐阅读
- python - 是否可以将按钮添加到 Wagtail 设置页面?
- javascript - 将重复的对象属性移动到对象数组中的单个属性中
- javascript - 如何通过在输入中输入视频位置来制作视频
- mongodb - 尝试读取 oplog,但结果为空
- c# - 如何从asp .net core 3中的按钮单击传递对象ID
- django - Django编辑配置文件不保存
- android - Android Studio USB调试手机显示错误
- python - 6类数据集的本地二进制模式python代码
- python - ModuleNotFoundError:没有名为“_future_”的模块
- javascript - 如何在 selenium Safari Capabilities 中设置默认下载目录?