使用toupper功能

时间:2015-04-13 20:49:08

标签: c string pointers toupper

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <string.h>
    #include <ctype.h>
    #define SIZE 5

    void select_word(const char *const art[],  const char *const noun[],
                           const char *const verb[], const char *const prep[]);

    void build_sentence(const char *const sentence[]);

    int main()
    {
       int i;
       const char *art [SIZE] = { "the", "a", "one", "some", "any",};
       const char *noun[SIZE] = { "boy", "girl", "dog", "town", "car",};
       const char *verb[SIZE] = { "drove","jumped", "ran", "walked", "skipped",};
       const char *prep[SIZE] = { "to", "from", "over", "under", "on",};
       srand(time(0));
       for(i=0; i<3; i++)
       select_word( art, noun, verb, prep );
       return 0;
    }

    void select_word(const char *const art[],  const char *const noun[],
                           const char *const verb[], const char *const prep[])
    {
           const char *sentence [6] = {

                  art  [rand() % SIZE],
                  noun [rand() % SIZE],
                  verb [rand() % SIZE],
                  prep [rand() % SIZE],
                  art  [rand() % SIZE],
                  noun [rand() % SIZE]};

                  build_sentence(sentence);
       }

       void build_sentence (const char *const sentence[]) {
                          printf( "%s %s %s %s %s %s. \n",
                            sentence [0], 

/ *我正在尝试使用&#39; toupper&#39;函数使随机生成的句子中的第一个单词成为大写。我想我在句子[0]和句子[1] * /

之间放了一个printf函数
                            sentence [1], 
                            sentence [2],
                            sentence [3],
                            sentence [4],
                            sentence [5]);
                        }

1 个答案:

答案 0 :(得分:2)

由于它们是不变的,因此您无法将其用于字符串的问题。您将需要使用一些可写存储来获得结果。如果你不想,你可以只用大写第一个单词的第一个字符,然后用printf中的第二个字符开始写第一个单词:

printf( "%c%s %s %s %s %s %s. \n",
                            toupper(sentence[0][0]), 
                            &sentence[0][1], 
                            sentence[1],
                            ..........