Разница между scanf ("%C", &opt) и scanf ("%C", & opt)
Я исполняю мой язык программы на языке C в интегрированной среде разработки TurboC3.
Нерабочий код выглядит следующим образом
#include<stdio.h> #include<conio.h> void main() { int i, j, t; char opt; clrscr(); printf("Enter two values" ); scanf("%d", &i); scanf("%d", &j); printf("\n\n press + for sum\n"); printf("press * for mult\n"); printf("print - for subtract\n\n"); scanf("%c", &opt); // code that is creating problem // switch(opt) { case '+': {t=i+j; printf("\nsum =%d", t); } break; case '*': {t=i*j; printf("\nproduct =%d", t); } break; case '-': {t=i-j; printf("\ndifference =%d", t); } break; default: printf("\ninvalid choice"); } getch(); }
[edit]кодовый блок исправлен, добавлен отступ - OriginalGriff [/edit]
Что я уже пробовал:
Исправление, которое помогло мне выполнить код, заключается в следующем
scanf(" %c", &opt); // code without problem //
то есть я вставил пробел между " и %c, и код сработал.
Пожалуйста, помогите мне понять разницу.