请问C语言 char类型的指针要怎么赋值?

char *find_char( char const *source, char const *chars );

char main()
{
char *source=NULL, *chars=NULL, *find_=NULL;
printf("Please input source and chars.\n");
source=getchar();
chars=getchar();
最新回答
情伤己

2024-09-21 01:29:03

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char *source = malloc(20*sizeof(char);
printf("Please input source \n");
scanf("%s",source);//f方法三
printf("%s\n",source);
char *temp = "my input source"
sprintf(source,"%s",temp);//方法一
printf("%s\n",source);
strcpy(source,temp);//方法二
printf("%s\n",source);
return 0 ;
}
指针是无法存放
字符串
的,只有指针指向的那块空间才能存放字符串,所以我第一句话给它开辟了20个空间,这样就可以给指针指向的那块空间赋值了,谢谢
另外给你一个建议 char *a = NULL,*b =NULL,*c =NULL;这样的写法是不规范的,很容易出错。标准形式应该是char *a= NULL;
char *b = NULL;
char *c = NULL;
达阳云

2024-09-21 01:07:23

指针的赋值一般通过以下几种方式:1,直接用地址提取符&,如char *pc = &ch; 2,把数组名表示的地址赋给指针,数组名表示的内容是数组第一个元素的地址,如int m[100];int *pm = m;3,用同类型的指针赋值,这就不举例子了。4,用函数返回值,但函数的返回值必须是同类型的指针。不过你的用法不对,getchar函数返回的是整型变量,不是字符指针。
寄信给风

2024-09-21 00:43:04

这个函数名坑人的。具体用法如下:
函数名: getchar
功 能: 从stdin流中读字符
用 法: int getchar(void);
程序例:

#include <stdio.h>

int main(void)
{
int c;

/* Note that getchar reads from stdin and
is line buffered; this means it will
not return until you press ENTER. */

while ((c = getchar()) != '\n')
printf("%c", c);

return 0;
}
那些年,做的脑残梦。

2024-09-21 00:38:49

指针是无法存放字符串的,只有指针指向的那块空间才能存放字符串