TransWikia.com

Почему программа работает неверно?

Stack Overflow на русском Asked on January 18, 2021

Вот задание: Ввести строку, вывести на экран только слова, имеющие заданную длину.

вот такой код я написал,но почему выводит только первую букву строки вместо слова?

# include <stdio.h> 
 
int main()
{
 
   
    char a[];
    char c;
    int v = 0;
    int dlina = 0;
     char a[100];
    printf("type a line n");
    while ((c = getchar()) != '100')
    {
        a[v] = c;
        v++;
    }
    a[v] = '0';
    printf(" set word length n");
    scanf ("%d", &dlina);
    for (int i = 0; i <= v; i++)
    {
        return 0
    };
}

One Answer

char a[]; // <- так можно?
char c;
int v = 0;
int dlina = 0;
 char a[100]; // <- получилось повторно массив определить? 
printf("type a line n");
while ((c = getchar()) != '100') // <- getchar выдаёт 1 символ, а '100' не 1 символ и сравнивается с '0' в итоге
{
    a[v] = c;
    v++;
}
a[v] = '0'; // <- строка должна заканчиваться нулем, а не символом '0', 0 и '0' - это разные вещи, если хотите указывать символ тогда уж ''
printf(" set word length n");
scanf ("%d", &dlina); // <- а ссылки в чистом C разве есть, они не в C++ появились?
for (int i = 0; i <= v; i++) <- и где ваш основной код, забыли добавить?
{
    return 0 // <- а ';' где?
};

В общем а как ваш код вообще работал и что-то выдавал? вы его часть только привели что-ли?

Answered by Zhihar on January 18, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP