目前正在创建一个C程序,使用指针和函数来反转名称。尝试在char * name上使用strlen()时出现堆栈溢出错误。我还没有完全创建该函数,因为我目前正在使用strlen()来解决这个问题。
#include <stdio.h>
#include <string.h>
void format_name();
int main(void)
{
char str[256+1];
char *name = &str[0];
printf("Enter the first and last name: ");
scanf("%[^\n]s", str);
printf("formatting name\n");
format_name (*name);
printf("Formatted name: %s\n", str);
return 0;
}
void format_name (char *name)
{
int spacepos = 0;
printf("Finding string length");
int length = strlen(name);
printf("Size of string = %d", length);
for(p = 0; p <= length - 1; p++)
{
printf("Checking position %d", p);
if(name[p] == ' ' && spacepos == 0)
{
spacepos = p;
printf("first space found at pos %d", p);
}
}
}