Program ma wczytywac wyrazenie do tablicy aż napotkania znaku spacji lub entera.
język c
#include <stdio.h>#include <stdlib.h>#include <string.h>int main() { char buffer; char *tablica, *tab2; int rozmiar = 1; bool lastNotEnter = false; tablica = (char *) malloc(rozmiar+1); while(true) { if (lastNotEnter) { lastNotEnter = false; scanf("%c", &buffer); } printf("Podaj znak: "); scanf("%c", &buffer); if (buffer == 0x20 || buffer == 0xA) break; lastNotEnter = true; tablica[rozmiar-1] = buffer; tablica[rozmiar] = 0x0; printf("%s\n", tablica); tab2 = (char *) malloc(rozmiar+1); memcpy(tab2, tablica, rozmiar); free(tablica); tablica = (char *) malloc(rozmiar+2); memcpy(tablica, tab2, rozmiar); free(tab2); ++rozmiar; }
free(tablica); return 0;}
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char buffer;
char *tablica, *tab2;
int rozmiar = 1;
bool lastNotEnter = false;
tablica = (char *) malloc(rozmiar+1);
while(true) {
if (lastNotEnter) {
lastNotEnter = false;
scanf("%c", &buffer);
}
printf("Podaj znak: ");
scanf("%c", &buffer);
if (buffer == 0x20 || buffer == 0xA) break;
lastNotEnter = true;
tablica[rozmiar-1] = buffer;
tablica[rozmiar] = 0x0;
printf("%s\n", tablica);
tab2 = (char *) malloc(rozmiar+1);
memcpy(tab2, tablica, rozmiar);
free(tablica);
tablica = (char *) malloc(rozmiar+2);
memcpy(tablica, tab2, rozmiar);
free(tab2);
++rozmiar;
}
free(tablica);
return 0;
}