Member 14597159 Ответов: 2

Что не так с оператором printf в этом коде:


Этот код пришел из Zyooks я должен был добавить оператор printf, чтобы получить этот ответ: xyz xzy yxz yzx zxy zyx я новичок, пытающийся понять char и целочисленные литералы.

#include <stdio.h>
int main(void) {
   char a;
   char b;
   char c;
   scanf(" %c ", &a);
   scanf(" %c ", &b);
   scanf(" %c ", &c);

//this is the line I added to get this output    xyz  xzy   yxz  yzx   zxy  zyx  
  printf("%c %c %c %c %c %c," abc, acb, bac, bca, cab, cba);  
						       
printf("\n");
return 0;
}


Что я уже пробовал:

Это код си. Я попробовал несколько изменений, но ни одно из них не сработало.

2 Ответов

Рейтинг:
15

honey the codewitch

вы не можете объединять переменные таким образом

компилятор рассматривает abc как неопределенную переменную.

то, что вам нужно, похоже.

printf("%c%c%c ",a,b,c);
printf("%c%c%c ",b,c,a);
printf("%c%c%c ",c,a,b);

и т.д.


Member 14597159

Спасибо. Вы решили проблему этого 84-летнего новичка.

Рейтинг:
1

Patrice T

Цитата:
Что не так с оператором printf в этом коде

Многие вещи, код S1-это то, что вы должны делать.
printf("%c %c %c %c %c %c," abc, acb, bac, bca, cab, cba);
//      ^ this is for 1 char only, but you want 3 chars at a time
//                       ^ the comma, here, should be after double quptes
//                          ^ here is a new undefined variable, not a combination of 3 variables