У меня есть массивы указателей на массивы char, как показано ниже.Как изменить первую букву на верхний регистр в массиве указателей на строки?
char *ptrArticle[]={"the","a","one","some"};
Я пытаюсь рандомизации фразу так:
«Девушка пропускаться под мальчика».
Так что я должен сделать первые слова первого символа в верхнем регистре. Но это не работает. Компилятор не дает никаких ошибок, но не работает так, как предполагалось. Еще строчный. Можете ли вы дать мне совет?
toupper(*ptrArticle[articleRandomIndex]);
#include <stdio.h>
#include<stdlib.h>
#include<time.h>
#include <string.h>
#include <ctype.h>
int main(void){
int articleRandomIndex;
int nounRandomIndex;
int verbRandomIndex;
int prepositionRandomIndex;
int secondArticleRandomIndex;
int secondNounRandomIndex;
char sentence[200];
//array of pointers to char arrays
char *ptrArticle[]={"the","a","one","some"};
char *ptrNoun[]={"boy","girl","dog","town","car"};
char *ptrVerb[]={"drove","jumped","ran","walked","skipped"};
char *ptrPreposition[]={"to","from","over","under","on"};
srand(time(NULL));
articleRandomIndex=rand()%4;
nounRandomIndex=rand()%5;
verbRandomIndex=rand()%5;
prepositionRandomIndex=rand()%5;
secondArticleRandomIndex=rand()%4;
secondNounRandomIndex=rand()%5;
toupper(*ptrArticle[articleRandomIndex]);
strcpy(sentence,ptrArticle[articleRandomIndex]);
strcat(sentence," ");
strcat(sentence,ptrNoun[nounRandomIndex]);
strcat(sentence," ");
strcat(sentence,ptrVerb[verbRandomIndex]);
strcat(sentence," ");
strcat(sentence,ptrPreposition[prepositionRandomIndex]);
strcat(sentence," ");
strcat(sentence,ptrArticle[secondArticleRandomIndex]);
strcat(sentence," ");
strcat(sentence,ptrNoun[secondNounRandomIndex]);
strcat(sentence,".");
puts(sentence);
getch();
}
Ahh благодарит так много. Как я могу быть немым, чтобы не думать об этом? Иногда программирование пугает мое видение настолько, что я не вижу решения прямо передо мной. – Lyrk