2013-09-27 40 views
-1

我在爲我的CSC類之一進行這項任務時工作非常辛苦。我正在從我的名字製作一個角色數組(例如John Doe)。我需要將我的字符數組的指針傳遞給一個函數,該函數輸出存儲在您的字符數組中的字符數。然後我需要該函數也返回這個整數回到我的主要功能。'char'之前的期望表達式

如果有人願意幫助我在先進

  • 我需要拼寫完全倒退。即(eoD nhoJ)

  • 我需要通知用戶我的數組中的哪個元素名稱中有空格。我也需要返回這個值。

  • 然後最後但並非最不重要,我需要扭轉名稱即(DOE約翰)

請幫助我。我只發佈了我實際設法弄到的那部分作業。謝謝大家。

#include <stdio.h> 
#include <string.h> 

int main() 
{ 
    char name [25]={'\0'}; 

    fgets(name,sizeof(name),stdin); 

    printf("You Entered: %s  \n", name); 

    printf("There are %u characters. \n", strlen(char * name)); 
} 
+0

使用'strlen(name)',不帶類型名稱 –

+0

究竟是什麼,你不明白的任務1,2,3?在堆棧溢出(Stack Overflow)中,爲自己不瞭解的事情尋求代碼解決方案被認爲是無關緊要的。所以除非你澄清這一點,否則你的問題有可能會被封閉。 – Lundin

+0

我希望有人能給我一個使用我的代碼的例子。我是一名仍在學習這一技能的學生。如果我不問如何做某些我不瞭解的事情,我該如何學習一些東西。 – user2172993

回答

2
strlen(char * name) ==> strlen(name) 

你不應該在計算長度

編輯

如果你的目的是要編寫自己的功能對於一些實踐字符串之前使用的char *。

聲明函數

unsigned int my_strlen(char *); //argument needed is character pointer 

,並定義

unsigned int my_strlen(char *str) 
     { 
     //find length.. 
     return length; 
     } 

函數調用

printf("There are %u characters. \n", my_strlen(name)); // passing starting address of character array to a function. 

這裏還你不應該的名字前使用char *

您可以在Google上輕鬆找到所有問題。只是做簡單的搜索,你可以找到。

如果你想自己做。你需要閱讀c教程。

+0

但我需要傳遞一個指針數組,所以我不需要使用星號來獲取指針位置? – user2172993

+0

這裏name是一個字符數組。要在strlen()的幫助下查找字符數組的長度,只需要傳遞數組名。字符數組不同於指針數組。有關strlen()的解釋,請參閱http://en.cppreference.com/w/c/string/byte/strlen。 – Gangadhar

+0

「你可能想聲明自己的函數來查找字符數組的長度」 - 爲什麼有人想這麼做? – 2013-09-27 15:57:46

0

更改:
printf(「有%u個字符。\ n」,strlen(char * name));
作者:
printf(「有%u個字符。\ n」,strlen(name));

相關問題