Как принять мои исходные данные в качестве ввода и печати вместе с моим именем в C? [Дубликат]

вы можете попробовать эту демонстрацию: http://www.gbin1.com/technology/democenter/20120903-jquery-plugin-complexify/ , разработанную с помощью jquery plugin complexify. я думаю, что это круто!

1
задан Yu Hao 24 July 2015 в 00:47
поделиться

2 ответа

Точка 1 [Программная ошибка]

Проблема заключается в использовании с спецификатором формата %c. Он считает ранее введенным \n, сохраненным нажатием клавиши ENTER после предыдущего ввода. Вы хотите

scanf(" %c", &tag[i].owner);
       ^
       |
    note the space

пропустить любой ведущий символ пробела, такой как символ (включая \n) до фактического ввода.

Точка 2 [Логическая ошибка]

В соответствии с вашим кодом здесь, в scan введите string , вам нужно использовать спецификатор формата %s.

Итак, наконец, ваш код должен выглядеть как

   scanf("%s", tag[i].owner);    // if tag[i].owner is char array

или

  scanf(" %c", &tag[i].owner);    // if tag[i].owner is a char, just in case
8
ответ дан Sourav Ghosh 15 August 2018 в 18:18
поделиться
  • 1
    это фактически фиксировало несколько проблем, спасибо! – mjones.udri 15 April 2015 в 19:16
  • 2
    @ mjones.udri Добро пожаловать. Рад, что это помогло. – Sourav Ghosh 15 April 2015 в 19:27

% c - спецификатор для символа, вы пытаетесь ввести строку, а не символ. См. документацию scanf . То, что вы хотите использовать, - это спецификатор% s для строки.

0
ответ дан Ian 15 August 2018 в 18:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: