Jump to content
NEMESISaka

[Resolvido] If not true

Recommended Posts

NEMESISaka

Boa noite,

Venho aqui pedir ajuda em um simples problema, mas como sou um bocado "pato" em C não o consegui resolver :\

eu tenho uma condição if e queria fazer como no java e meter if (!"a condiçao"), mas recebo um erro de segmentation fault...

o meu código que esta a dar erro é o seguinte:

if(!((strcmp(t1,"P2")==0) || (strcmp(t1,"P5")==0))){
  fprintf(stderr, "\nTipo de imagem invalido.\n");
  fclose(f);
  return NULL;
}

Obrigado desde já por tudo,

Cumprimentos.

Share this post


Link to post
Share on other sites
HappyHippyHippo

se o erro é um segmentation fault o problema nunca será do operador.

onde está a instanciação da variável t1 ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
NEMESISaka

se o erro é um segmentation fault o problema nunca será do operador.

onde está a instanciação da variável t1 ?

A esta no if antes desse pedaço de codigo:

char t1, ch;
if((fscanf(f,"P%d", &t1)) == 1){

if(!((strcmp(t1,"P2")==0) || (strcmp(t1,"P5")==0))){ // erro aqui
  fprintf(stderr, "\nTipo de imagem invalido.\n");
  fclose(f);
  return NULL;
}

mas em C posse meter o ! dentro do if antes da condição com o || ?

Edited by NEMESISaka

Share this post


Link to post
Share on other sites
Rui Carlos

Que valor é que achas vai ficar na variável t1?

A tua ideia de ir buscar só um número é boa, mas se só vais buscar um número, então depois usas a comparação de números (inteiros de 8bits, neste caso) e não de strings.

Share this post


Link to post
Share on other sites
Warrior

Estás a ignorar warnings do compilador, se tivesses prestado atenção aos avisos tinhas resolvido o teu problema.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.