對於我正在做的任務,我必須從C(或字符數組)中的字符串中打印出首字母。要做到這一點,我知道我需要找到SPACE的位置,使用(int)name [i] == 32來查找當前字符是否爲空格。我唯一的問題是,我無法弄清楚如何找到空間,然後將下一個字符存儲在字符數組中。 (例如,用戶輸入Mike Baggins,我必須打印出MB)。我會在下面發佈我的代碼,向您展示我已經獲得了多少。請幫忙,但請不要給我完整的解決方案。謝謝!試圖抓住一個空格後的字符C
#include <cs50.h>
#include <stdio.h>
#include <string.h>
int main(void)
{
string name = get_string(); // gets the user's input
char firstI = name[0]; // stores the first character from the user's input
int len = strlen(name);
if((int)firstI >= 97 && (int)firstI <= 122) // checks if the character is lowercase
{
firstI -= 32; // makes the value uppercase
}
for(int i = 0; i < len; i++)
{
if((int)name[i] == 32) // checks if the character is SPACE
{
printf("I found a space!\n"); // prints out "I found a space"
}
}
printf("%c\n", firstI); // prints out the first initial
}
你爲什麼要'名字[我]'?使用'name [i] =='''!另外'for(int i = 0,len = strlen(name); i
有便利和便攜功能'islower'和'toupper' ...而且你並不需要第一個。 –
你是什麼意思,「表示你不知道如何表示字符串」。使用strlen()來獲取分析字符串的全長很容易,所以我簡單地使用了strlen()。 – Nik