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