Я пишу этот код, который принимает целое число (t) в качестве ввода от пользователя. Цикл будет исполнен всего лишь «t» раз. Но я нахожу, что он работает за (t-1)
раз. Например, если я даю вход 3
, он работает только 2
раз. Может кто-нибудь объяснить, почему это происходит?Сколько раз этот цикл будет выполнен?
Я пробовал и использовал scanf("%s", &str)
, он работает, но тогда я не могу взять строку в качестве входных данных, которая содержит пробелы.
#include <stdio.h>
int main()
{
int t;
scanf("%d", &t);
while(t--)
{
char str[100];
gets(str);
printf("%s\n", str);
}
return 0;
}
Никогда не используйте функцию 'gets'; он по своей сути небезопасен и удален из последней версии языка. «fgets» можно использовать безопасно, но немного сложнее. –
Тело цикла работает 't' раз. – typ1232