Печать самого длинного слова и его длины из строки.
Я сделал программу, которая должна сканировать строку, находить самое длинное слово строки и печатать его длину и слово. Но по какой-то причине он не работает должным образом. Он показывает странные символы.
Чтобы найти его, программа начинает сканирование строки с помощью цикла for. Затем в первом цикле for есть еще один цикл for, который находит длину слова. Если длина больше текущего самого длинного слова, оно присваивает это слово другой строке.
#include<stdio.h> int main() { char string1[] = "This program finds the longest word", longestword[20]; int index,letters,longestnumber=0,temp=0,j; for(index=0;string1[index]!='\0';index++) { temp = index; for(letters=0;string1[index]!=' ' && string1[index]!='\0' ;index++,letters++); j=0; if(letters>=longestnumber) { while(string1[temp] != ' ') { longestword[j] == string1[temp]; temp++; j++; } } } printf("%d %s",longestnumber,longestword); return 0; }
Что я уже пробовал:
Я думал, что это будет бесконечная петля, но это не так. Вместо этого он заканчивается странными символами.