#c #string
#c #строка
Вопрос:
У меня есть:
char M[20] = "abcdabcdabcdabcd";
Я могу либо распечатать ее как строку, либо как символы:
printf("%sn", M); //print as string
for(i = 0;str[i] != '';i ) //print as characters
{
printf("%c",str[i]);
}
Я хочу прочитать строку из 7 символов и сохранить ее в M таким образом, чтобы впоследствии, когда я печатаю ее как строку и как символы, которые я получаю (при условии, что введенные 7 символов: ABCDEFG):
ABCDEFG //output of printf("%sn", M); when printed as string
ABCDEFG abcdabcd //output of the for loop above
Мой ответ:
for(K = 0;K<7;K )
{
scanf(" ", amp;M[K]);
}
но вышеприведенное работает не так, как должно.
Редактировать:
он выводит
ABCDEFGdabcdabcd
для обоих случаев.
Комментарии:
1. » … но вышеприведенное работает не так, как должно». но что именно делает?
Ответ №1:
Вы должны добавить оператор : M[7] = ''
. Последним символом строки должен быть ».
Комментарии:
1. Я не знаю, почему люди отвергают мой вопрос и ваш ответ. Странно. Ваш ответ был очень полезен.
2. @Lisanne: Как этот ответ соответствует вашим требованиям: » … таким образом, что впоследствии, когда я печатаю его в виде строки и в виде символов, я получаю (при условии, что введенные 7 символов: ABCDEFG):
ABCDEFG //output of printf("%sn", M); when printed as string ABCDEFG abcdabcd //output of the for loop above
»3. размещение его ответа под кодом scanf(» «, amp;M[K]); дает правильный вывод, а именно ABCDEFG //вывод printf(«%s n», M); при печати в виде строки и ABCDEFG abcdabcd // вывод цикла for выше