1
我有一個比較簡單的問題。用戶應該運行該程序,輸入30個字符或更少的消息,然後單個字母的情況將被切換(小寫字母將被製成upercase,反之亦然)。除了改變案件的部分,一切都很好。我應該使用指向數組中的char的指針,並將其作爲函數參數傳遞給toggle_case。請協助我如何實現這一點。 這是代碼。傳遞數組元素指針c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
void read_message(char *message, int *message_size);
void toggle_case(char *character);
void count_cv(char* message);
int main() {
char message[30];
int message_size;
char *message_pointer;
message_pointer = message;
read_message(message, &message_size);
int i = 0;
for(i =0; i<30; i++){
toggle_case(&message_pointer[i]);
}
printf("New string: %s",message);
return 0;
}
void read_message(char *message, int *message_size){
printf("Enter your string (maximum 30 characters): ");
fgets(message, 30, stdin);
}
void toggle_case(char *character){
//check if character is a letter
if (isalpha(*character)) {
//Check if the character is upper case
if(isupper(*character)){
//convert the character to lower case
tolower(*character);
} else {
//Check if the character is lower case
//convert the character to upper case
toupper(*character);
}
}
}
void count_cv(char* message){
}
你的難度到底是什麼?代碼是否不編譯,是否崩潰,是否產生錯誤的輸出等?向我們解釋清楚,以便我們知道該怎麼幫助你。它看起來好像不會將結果保存到'toggle_case'中的原始字符中。如果這是您的問題,那麼可以在'toggle_case'內分配結果或返回結果供調用者分配。 – kaylum
'message_size'似乎並沒有被使用...... – dreamlax