gpt4 book ai didi

c - 在 C 中,puts 函数给出垃圾值

转载 作者:行者123 更新时间:2023-11-30 21:47:10 28 4
gpt4 key购买 nike

我想使用指针将一个字符串复制到另一个字符串,并且我从 printf 函数中获取垃圾值(一些未知字符)。这有什么问题吗?输出是“用于复制的字符串**”。在**处得到一些未知字符。

#include <stdio.h>
#include <conio.h>
void main()
{
char *s="string for copy",*c,*temp;//temp is used to back the
//pointer on 1st position
clrscr();
while(*s!=NULL)
{
*c=*s
c++;
s++;
}
c='\0';
c=temp;//back pointer to first position
printf("String from c:);
puts(c);
getch();

}

最佳答案

您需要为 char * 变量分配内存。

此外,您永远不会为 temp 分配值(或为其分配空间),但稍后在代码中分配 c = temp。这意味着 c 当前位于内存中的任何位置都将被分配内存中 temp 位置处的任何内容。

关于c - 在 C 中,puts 函数给出垃圾值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24328185/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com