#include <stdlib.h>

main()
{
    char string[23] = "2345,";

    char aString [sizeof string];

    int i = 0;

    while((aString[i] = string[i]) != ',')
        ++i;

    char *ts = aString;

    printf("%s\n", aString);
}

我想把除了逗号以外的所有内容都从string复制到aString。但是,这不起作用-我会在结尾用逗号和一些垃圾打印出来。有人能告诉我我做错了什么吗?
好吧,那很好。但是,在编译之后会出现此错误:
警告:内置函数“printf”的隐式声明不兼容
据我所知,printf没有任何问题。有人能告诉我发生了什么事吗?

最佳答案

您需要在while循环之后添加aString[i]=0一次,C字符串以0结尾。

关于c - 为什么这段代码不能复制在C中工作的两个字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4111866/

10-09 07:24