Я пытаюсь получить следующий шаблон символа следующим образом, используя только циклы «для» или «в то время», но без операторов «if» или «if-else»: (Упомянуто в блоке кода)Шаблоны символов в C
Мне трудно понять способ сделать первый символ отображаемым как пустое пространство или представить его даже как нулевой символ. Ниже приведен мой код:
#include <stdio.h>
#include <conio.h>
int main()
{
char ch[6], j='\0';
int p,q,n,i;
printf("Enter a character\n");
for (n = 0; n < 5; n++)
{
scanf_s(" %c", &ch[n], 1);
}
printf("\n");
for (i = 4; i >= 0; i--)
{
for (p = 4; p >= i; p--)
{
printf("%c", ch[p+1]-1);// _-->A blank space
} // BA
printf("\n"); // CBA
} // DCBA
// EDCBA
_getch();
return 0;
}
Я не могу понять, куда я иду, не можете ли вы помочь?
'scanf_s ("% С", & ч [п], 1);' является что normal: '"% c "'? – axelduch
Использование 'scanf_s («% c », & ch [n], 1)' означает, что перед тем, как прочитать символ, пропущено любое начальное свободное пространство. Это означает, что вы никогда не получите пустой пробел в своих переменных при использовании этой строки формата. Также кажется забавным пригласить «символ», а затем потребовать от пользователя ввести 5 символов. Вы также должны проверить, что 'scanf_s()' преуспевает; проверьте, что он возвращает 1, и что-то делать (например, выйти с сообщением об ошибке), если это не так. –
Вам не хватает случая из вашего вывода (тот, у которого есть только 'A')? –