Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,950 questions

51,892 answers

573 users

How to compares two strings with numbers numerically in C

1 Answer

0 votes
#include <stdio.h>
#include <stdlib.h>
 
int numerical_s_cmp(char *s1, char *s2); 
 
int main(void)
{
    char s1[] = "123";
    char s2[] = "789";

    printf("%d\n", numerical_s_cmp(s1, s2));
    if (numerical_s_cmp(s1, s2) == 1)
        printf("s1 > s2");
    else if (numerical_s_cmp(s1, s2) == -1)
             printf("s1 < s2");
         else
             printf("s1 = s2");

    return 0;
}
int numerical_s_cmp(char *s1, char *s2) 
{ 
    double val1, val2; 
    
    val1 = atof(s1); 
    val2 = atof(s2); 
       
    if (val1 < val2) 
        return -1; 
    else if (val1 > val2) 
             return 1; 
         else 
             return 0; 
} 

  
/*
 
run:
 
-1
s1 < s2

*/

 



answered Nov 23, 2015 by avibootz
edited Nov 24, 2015 by avibootz
...