-1

我在完成我的 CSC 课程之一的这项作业时遇到了很大的困难。我正在用我的名字(即 John Doe)制作一个字符数组。我需要将我的字符数组的指针传递给一个函数,该函数输出存储在字符数组中的字符数。然后我需要该函数将此整数返回给我的主函数。

如果有人想帮助我进阶

  • 我需要完全倒着拼写。即(EOD nhoJ)

  • 我需要通知用户名称中的空格是我数组的哪个元素。我还需要返回这个值。

  • 最后但并非最不重要的一点是,我需要颠倒名称,即(Doe John)

请帮我解决一下这个。我只发布了我实际上设法弄清楚的部分作业。谢谢大家。

#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));
}
4

2 回答 2

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 教程。

于 2013-09-27T14:21:49.803 回答
0

更改:
printf("有 %u 个字符。\n", strlen(char * name));
by:
printf("有 %u 个字符。\n", strlen(name));

于 2013-09-27T14:25:24.607 回答