DevX Home    Today's Headlines   Articles Archive   Tip Bank   Forums   

Results 1 to 2 of 2
  1. #1
    Join Date
    Jun 2005

    Need help with String input in C language

    I couldn't a forum for C language so I'm going to ask it here because I don't know where else to put it.

    I need help with getting string input from the user and sorting the array of strings.

    Here's my code:
    #include <stdio.h>
    #include <string.h>

    /* This function will take two pointers to
    * chars as arguments and exchange the
    * values to which they point.
    void exchange( char** pStr1, char** pStr2 )
    char* text = *pStr1;
    *pStr1 = *pStr2;
    *pStr2 = text;

    /* This function rearranges the text
    * in the array.
    void sort( char* string_array[], int length )
    int k;
    int test;

    test = 0;
    for( k = 1; k < length; k++ )
    if( strlen( string_array[k] ) < strlen( string_array[k] ) )
    exchange( &string_array[k], &string_array[k-1] );
    test = 1;
    } while ( test );

    /* This function takes inputs from the user's
    * keyboard and stores them in the array.

    int get_input( char* string_array[], int length )
    int k;

    printf( "\nEnter up to five strings \n" );
    printf( "Enter a null string to indicate completion \n" );

    for ( k = 0; k < length; k++ )
    printf( "%d: ", k+1 );
    scanf( "%100s", string_array[k] );
    if( string_array[k] == "" )

    /* k is number of entries filled */
    return k;

    void print_array( char* string_array[], int length )
    int i;

    for( i = 0; i < 5; i++ )
    printf( "%d: %s\n", i+1, string_array[i] );

    int main()
    char input[100];
    char* string_array = input;
    int text_input;

    text_input = get_input( string_array, 5 );

    printf( "Before sort:\n" );
    print_array( string_array, text_input );

    sort( string_array, text_input );

    printf( "After sort:\n" );
    print_array( string_array, text_input );
    return 0;
    When I compile it, I get errors saying,

    "passing arg 1 of `get_input' from incompatible pointer type"

    There are other errors just like that one, but instead of 'get_input' it's one of the other functions. I don't know what I'm doing wrong, but if someone could point in the right direction I would gladly appreciate it. Also, if possible, point out any other errors that I have made.


    -Falcone :)

  2. #2
    Join Date
    Nov 2003
    Your get_input function expects an array of strings, which is basically a pointer to a pointer to char. You're passing only pointer to char, which is an error. You need to declare the string array with two dimensions:

    char str[100][5];

    get_input(str, 5);
    Danny Kalev

Similar Threads

  1. Packed Data(Comp-3, etc)
    By Marcos in forum VB Classic
    Replies: 3
    Last Post: 01-25-2006, 11:18 AM
  2. Input string was not in a correct format
    By kenn_rosie in forum .NET
    Replies: 2
    Last Post: 01-11-2006, 09:28 AM
  3. Input string was not in a correct format
    By mdengler in forum ASP.NET
    Replies: 0
    Last Post: 11-26-2002, 02:32 PM
  4. verify local admin
    By Patrick Comeau in forum VB Classic
    Replies: 6
    Last Post: 03-22-2001, 10:50 PM
  5. Deadlock error.. how to remove
    By Chandra in forum VB Classic
    Replies: 0
    Last Post: 06-22-2000, 12:52 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center
Latest Articles
Questions? Contact us.
Web Development
Latest Tips
Open Source

   Development Centers

   -- Android Development Center
   -- Cloud Development Project Center
   -- HTML5 Development Center
   -- Windows Mobile Development Center

We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.