Я пишу программу в c для удаления лишних пробелов, я выполнил всю работу, но когда я скомпилирую, строка, которую я хочу в выводе, не появляется, я думаю проблема заключается в основной функции, я покажу вам мой код:У меня проблема с печатью строки
#include <stdio.h>
#include <stdlib.h>
void eliminar_espacios(char oracion[100]) {
int i;
for(i=0;i!='\0';i++) {
if(oracion[i]==' ' && (oracion[i+1]==' ' || oracion[i+1]=='\0')) {
oracion[i]=oracion[i+1];
}
}
}
int contar_espacios(char oracion[100])
{
int i,numero_espacios=0;
for (i=0;oracion[i]!='\0';i++){
if (oracion[i]==' '&&oracion[i+1]==' '){
numero_espacios+=1;
}
}
return(numero_espacios);
}
int main(void){
char frase[100];
int num_espacios;
printf("Escribe aqui a frase:");
gets (frase);
num_espacios=contar_espacios(frase);
eliminar_espacios(frase);
printf("%s\n",frase);
printf("%d",num_espacios);
return 0;
}
Что ожидается и что представляет собой нежелательный результат? – Marged
Я ожидаю напечатать строку букв без лишних пробелов, а нежелательный результат - программа ничего не меняет –
Я изменил код, но вместо того, чтобы печатать строку без лишних пробелов, он просто печатает строку без каких-либо изменений. –