C程序返回带答案的%
我试图通过使用函数来计算字符串的长度。我知道有一个预定义的函数,但我想自己做一个。但这里的问题是,每当我运行这段代码时,它都会返回名称的长度,并带有一个%。像这样:C程序返回带答案的%,c,gcc,C,Gcc,我试图通过使用函数来计算字符串的长度。我知道有一个预定义的函数,但我想自己做一个。但这里的问题是,每当我运行这段代码时,它都会返回名称的长度,并带有一个%。像这样: ~ >>> /home/******/Coding/strlen Enter your name ==> Example The length of your name is 7% 我真的很困惑为什么会这样。请找出我的代码有
~ >>> /home/******/Coding/strlen
Enter your name ==> Example
The length of your name is 7%
我真的很困惑为什么会这样。请找出我的代码有什么问题。。。我使用的是GCC版本10.2.0
/*String Length Using Function*/
#include <stdio.h>
int find_length(char[]);
int main()
{
char name[20];
int l;
printf("Enter your name ==> ");
scanf("%s",name);
l = find_length(name);
printf("The length of your name is %d",l);
return 0;
}
int find_length(char tempname[])
{
int len=0, i;
for(i = 0; tempname [i]!='\0'; i++)
{
len++;
}
return len;
}
/*使用函数的字符串长度*/
#包括
int find_length(char[]);
int main()
{
字符名[20];
int l;
printf(“输入您的姓名==>”;
scanf(“%s”,名称);
l=查找长度(名称);
printf(“您姓名的长度为%d”,l);
返回0;
}
int find_长度(字符临时名称[])
{
int len=0,i;
对于(i=0;tempname[i]!='\0';i++)
{
len++;
}
回程透镜;
}
您的shell似乎在添加%
来告诉您,您的程序没有在输出末尾打印换行符
在输出中添加换行符以防止出现这种情况
/* add \n to print a newline character */
printf("The length of your name is %d\n",l);
这是什么贝壳做的?@NateEldredge-Only-ZSH似乎是这么做的。Dash和Bash似乎从打印行的末尾开始编写shell。。。