8 svar
102 visningar
mattegeni2000 behöver inte mer hjälp
mattegeni2000 154
Postad: 29 sep 2022 18:39 Redigerad: 29 sep 2022 18:40

skriva ett program som låter användaren mata in en mening

Hej, jag ska skriva ett program som låter användaren mata in en mening. Programmet ska sedan skriva ut meningen från och med det tredje ordet.

när jag kör mitt program så funkar den inte att köra,skulle någon av er och kolla  vad har jag gjort för fel?

#include <stdio.h>
#include <string.h>
#define SIZE 100

int main(void) {
	char arr[SIZE];
	char* point;

	do {
		
		int count = 0;
		for (int i = 0; i < SIZE; i++) {
			arr[i] = '\0';
		}
		printf("Enter a sentence:");
		fgets(arr);
		for (int i = 0; i < SIZE; i++) {
			if (arr[i] == ' ') {
				count++;
			}
		}
		if (count < 3) {
			printf("The sentence is to short!\n");
		}
		else {
			count = 0;  
			for (int i = 0; i < SIZE; i++) {
				if (arr[i] == ' ') {
					count++;
				}
				if (count == 2) {
					point = &arr[i + 1]; 
			}
			printf("%s\n", point);
		}
		
	}
	return 0;
}
Laguna Online 30472
Postad: 29 sep 2022 19:46

Vad matar du in och vad händer och vad borde hända?

mattegeni2000 154
Postad: 29 sep 2022 20:04 Redigerad: 29 sep 2022 20:19

Det händer ingenting jag får error kod

 

 

 

 

mattegeni2000 154
Postad: 29 sep 2022 20:05

Vänta liten ska det inte finnas någon while i for loopen

Laguna Online 30472
Postad: 29 sep 2022 20:12

"Det händer ingenting" och "du får felkod" kan inte vara sanna samtidigt. Visa hela körningen.

Fermatrix 7841 – Fd. Medlem
Postad: 29 sep 2022 20:26

Du kan inte används fgets på det sättet, den ser ju ut så här:

char *fgets( char *restrict str, int count, FILE *restrict stream );

Sedan så saknar du en måsvinge för att stänga funktionen main.

Du saknar också en while loop eftersom jag antar att du försöker använda en do/while

mattegeni2000 154
Postad: 29 sep 2022 20:34
Dracaena skrev:

Du kan inte används fgets på det sättet, den ser ju ut så här:

char *fgets( char *restrict str, int count, FILE *restrict stream );

Sedan så saknar du en måsvinge för att stänga funktionen main.

Du saknar också en while loop eftersom jag antar att du försöker använda en do/while

ok nu blev jag lite förvirad ska jag ersätta  char *fgets( char *restrict str, int count, FILE *restrict stream );  mot    fgets(arr);

Fermatrix 7841 – Fd. Medlem
Postad: 29 sep 2022 21:54

Du har grönmarkerat tråden. löste det sig eller är det fortfarande något som är oklart? :)

mattegeni2000 154
Postad: 29 sep 2022 22:15
Dracaena skrev:

Du har grönmarkerat tråden. löste det sig eller är det fortfarande något som är oklart? :)

det löste sig

Svara
Close