Random201 Ответов: 2

Создайте функцию xstrlen (), которая отображает длину строки .


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

int xstrlen(char * a);
int main() { 
  char s1[]="bamboo copter";
  char s2[]="doraemon";
  int l1,l2;

 l1= xstrlen(s1);
 l2= xstrlen(s2);
 printf("length of %s is %d\n",s1,l1);
 printf("length of %s is %d\n",s2,l2);
  return 0 ;
}
int xstrlen(char * a){
int length ;
for (a =0;a!='\0';a++){
  length ++;
  
}
}


Что я уже пробовал:

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

int xstrlen(char * a);
int main() { 
  char s1[]="bamboocopter";
  char s2[]="doraemon";
  int l1,l2;

 l1= xstrlen(s1);
 l2= xstrlen(s2);
 printf("length of %s is %d\n",s1,l1);
 printf("length of %s is %d\n",s2,l2);
  return 0 ;
}
int xstrlen(char * a){
int length ;
for (a =0;a!='\0';a++){
  length ++;
  //printf("length %d\n",length);
}
}

Dave Kreskowiak

И у вас был вопрос или проблема ... ?

2 Ответов

Рейтинг:
0

CPallini

Вы всегда должны компилироваться со всеми включенными предупреждениями (например, -Wall с GCC).
Попробуй

#include<stdio.h>

int xstrlen(const char * a);
int main()
{
  char s1[]="bamboo copter";
  char s2[]="doraemon";
  int l1,l2;

  l1  = xstrlen(s1);
  l2  = xstrlen(s2);

  printf("length of %s is %d\n",s1,l1);
  printf("length of %s is %d\n",s2,l2);

  return 0;
}

int xstrlen(const char * a)
{
  int length =0;

  for (length = 0; *a != '\0'; ++a)
  {
    ++length;
  }

  return length;
}


Рейтинг:
0

Rick York

У вас есть вопрос?

Если вы спрашиваете, почему ваша функция не работает, у нее есть две проблемы. Он не инициализирует длину и не возвращает ее обратно.