你用strlen(a)测一下二者看是否一样长?char c[] = "asd\nasd"把\n只当一个转义字符'\n'看待,ASCII码是10;而用gets接收的\n是两个字符\和n,而并非加“回车键”值10。在前者中要想输出
asd\nasd,得写成asd\\nasd。
要返回字符串 需要返回char类型
需要注意的是 返回的字符串 不能是该函数的局部变量,否则会导致出错
可以是参数字符串,全局变量,静态局部变量,或者动态分配的内存
比如
char my_str_cpy(char d, char s){
char p=d;
while(p++=s++);
return d;//返回参数字符串。
}
可以通过for循环来打印指定长度的字符(也即字符串的一部分)。 下面通过实例来说明具体的 *** 作步骤: char str="abcdefg"; // 定义一个字符串指针int i;for(i=2; i<5; i++) // 控制需要输出字符串的起始位置(下标从0开始){ printf("%c", (str+i)); // 以字符的形式输出,输出cde}
procedure TForm1Button1Click(Sender: TObject);
var
st1:integer;
begin
st1:=strtoint(edit1Text);
edit2Text:=tranint(st1);
end;
function TForm1tranint(zhengshu:integer):string;
var
i:integer;
str,str2:string;
begin
result:='';
str:=inttostr(zhengshu);
for i:=1 to length(str) do
begin
str2:=copy(str,i,1);
result:=result+str2+' ';
end;
end;
end
C语言我几乎都忘记了不过用PASCAL在DELPHI下实验过了你可以参考下。其思想是你先把你传入的整数转换为字符串,然后再分别取每位+‘’就可以了,然后再主函数里调用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)