为什么我的程序不会在c中打印出一个字符?我似乎无法在此找到任何错误。以下是我的程序片段。当我尝试打印firstBand角色时,我得到的一切都没有。
#include <stdio.h>
#include <stdlib.h>
/*
*
*/
int bandOne;
int bandTwo;
double multiplierValue;
double resistanceValue;
double toleranceValue;
char firstBand;
char secondBand;
char multiplier;
char tolerance;
int main(void) {
//prompt user for band colours
printf("Colour of first band?\n");
firstBand = scanf(" %c",&firstBand);
printf("Colour of second band?\n");
secondBand = scanf(" %c",&secondBand);
printf("What is multiplier?\n");
multiplier = scanf(" %c",&multiplier);
printf("What is the tolerance?\n");
tolerance = scanf(" %c",&tolerance);
printf("%c\n",firstBand);
....
..
..
return 0;
}
请帮忙。
答案 0 :(得分:1)
firstBand = scanf(" %c",&firstBand);
firstband
是一个字符读取,scanf()返回成功读取的元素数。
所以firstBand
不再是你扫描的字符,它实际上是读取的元素数量的值。
if(scanf(" %c",&firstBand) == 1)
printf("%c",firstBand);
答案 1 :(得分:0)
从
更改所有scanf语句firstBand = scanf(" %c",&firstBand);
到
scanf(" %c",&firstBand);
那应该解决它。