delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/05/23/02:33:07

From: "Martin Ambuhl" <mambuhl AT tiac DOT net>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: "Problem with a text string"
Date: Sat, 23 May 1998 02:24:23 -0400
Organization: Nocturnal Aviation
Lines: 43
Message-ID: <6k5pp6$oa4@news-central.tiac.net>
References: <6k4lhm$6ne$1 AT talia DOT mad DOT ibernet DOT es>
NNTP-Posting-Host: p24.tc2.newyo.ny.tiac.com
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

JOA wrote in message <6k4lhm$6ne$1 AT talia DOT mad DOT ibernet DOT es>...
:Hello, the program:
:#include <stdio.h>
:char name[];
:main()
:{
:printf ("Write your name:");
:scanf ("%s",&name);
:if (nombre=="John") printf ("hello John");
:else printf ("Error");
:}
:
:Always write "Error" if i write "John", but never write "hello John". What
:can i do?
=========
Use strcmp instead of ==.
don't use an undefined variable (nombre)
don't derefernce unitialized pointers
don't use implicit function declarations
don't use the evil scanf
(don't post non-djgpp questions to comp.os.msdos.djgpp)
e.g.
#include <stdio.h>
#include <string.h>
int main(void)
{
    char name[BUFSIZ], *nl;
    printf ("Write your name: ");
    fflush(stdout);
    fgets(name, sizeof name, stdin);
    if ((nl = strchr(name,'\n'))) *nl = 0;
:   if (!strcmp(name,John"))
        printf ("hello John\n");
    else
        printf ("Error\n");
    return 0;
}
==========
:
:


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019