webForumDet fria alternativet

Avsluta program j/n

4 svar · 336 visningar · startad av Addeladde

AddeladdeMedlem sedan jan. 20013 406 inlägg
#1

Hej

Hur gör man i C för att skriva ett litet program som börjar om när man skriver y?

Jag har försökt med:
do
{
scanf("%c", &fortsatt);
}while(strcmp('y',fortsatt)==0);

Men jag får det inte att fungera. Varför?

JonMedlem sedan juli 20011 304 inlägg
#2
#include <stdio.h>

int main(int argc, char* argv[])
{
	char fortsatt;

	do 
	{ 
		printf("Fortsatta?\n");
		scanf("%c", &fortsatt);
		fflush(stdin);

	}while(fortsatt == 'y');
	
	return 0;
}

eftersom fortsatt är en char använder man inte strcmp. Den vill ha 2 strängar.
fflush rensar bufferten man väljer (stdin i det här fallet) så att inte skräptecken ligger kvar.

:)

AddeladdeMedlem sedan jan. 20013 406 inlägg
#3

Jag gjorde så här istället:

#include <stdio.h>
#include <string.h>
int main(void)

{

  char spelaIgen[1];
  do
  {
    printf("Vill du spela igen skriv j: ");
    scanf("%s", &spelaIgen);
  }while((strcmp("j",spelaIgen)==0));

  return 0;

}
JonMedlem sedan juli 20011 304 inlägg
#4

Ja. så kan man göra. Men det är väldans onödigt ;)

AddeladdeMedlem sedan jan. 20013 406 inlägg
#5

ok

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)