【发布时间】:2020-08-27 05:46:19
【问题描述】:
#include<stdio.h>
int main()
{
char *string1;
scanf("%s",string1);
printf("\n\nstring 1 is %s\n",string1);
}
每当我运行这个程序时,它都会接受输入,然后停止工作。 如何在 C 中的 char 指针中直接输入?
【问题讨论】:
#include<stdio.h>
int main()
{
char *string1;
scanf("%s",string1);
printf("\n\nstring 1 is %s\n",string1);
}
每当我运行这个程序时,它都会接受输入,然后停止工作。 如何在 C 中的 char 指针中直接输入?
【问题讨论】:
你没有为string1分配内存。
您可以通过这种方式使用malloc() 函数:
size_t string_size = 16;
char *string1 = (char*)malloc(string_size * sizeof(char));
这个,提供的字符串长度不能超过15个字符。
【讨论】:
string1。在这种情况下,请输入string1 = (char*)malloc(string_size * sizeof(char));。并且不要忘记在结束前调用free(string1) 来释放分配的内存。
你需要为你的字符串分配内存。
#include<stdio.h>
int main()
{
char string1[100];
scanf("%s",string1);
printf("\n\nstring 1 is %s\n",string1);
}
C 中的 PS 字符串只是字符数组,以 '\0' (null) 结尾。
【讨论】: