How to check whether the given string is a valid variable syntax in C

1 Answer

0 votes
#include <stdio.h>
#include <string.h>
#include <stdbool.h>

bool is_valid_variable(char s[]) { 
    if ( !((s[0] >= 'a' && s[0] <= 'z') || (s[0] >= 'A' && s[1] <= 'Z') || s[0] == '_')) 
        return false; 
	
    for (int i = 1; i < strlen(s); i++) { 
        if ( !((s[i] >= 'a' && s[i] <= 'z') 
            || (s[i] >= 'A' && s[i] <= 'Z') 
            || (s[i] >= '0' && s[i] <= '9') 
             || s[i] == '_')) 
            return false; 
    } 
  
    return true; 
} 
  
int main() 
{ 
    char s[] = "_num"; 

    if (is_valid_variable(s)) 
        printf("Valid\n");
    else
        printf("Invalid\n");
	
    strcpy(s, "a12"); 
    if (is_valid_variable(s)) 
        printf("Valid\n");
    else
        printf("Invalid\n");
        
    strcpy(s, "1f"); 
    if (is_valid_variable(s)) 
        printf("Valid\n");
    else
        printf("Invalid\n");
        
    strcpy(s, "num-a"); 
    if (is_valid_variable(s)) 
        printf("Valid\n");
    else
        printf("Invalid\n");
	
    return 0; 
} 


/*
run:

Valid
Valid
Invalid
Invalid

*/

 



answered Sep 12, 2019 by avibootz

Related questions

1 answer 201 views
1 answer 233 views
1 answer 189 views
1 answer 96 views
1 answer 188 views
1 answer 165 views
1 answer 223 views
...