字符指针赋值问题,太尴尬了
#include "stdio.h"int main(){ char *fenjihao = NULL; char *qianzhui = NULL; char *houzhui = NULL; scanf("%s",fenjihao); scanf("%s",qianzhui); scanf("%s",houzhui); printf(fenjihao); printf(qianzhui); printf(houzhui); getch();}
#include <stdio.h>#include <conio.h>int main() { char fenjihao[40]; char qianzhui[40]; char houzhui [40]; fgets(fenjihao,40,stdin) fgets(qianzhui,40,stdin) fgets(houzhui ,40,stdin) printf("%s",fenjihao); printf("%s",qianzhui); printf("%s",houzhui ); getch();}
[解决办法]
char *fenjihao;
定义的变量fenjihao存放的不是(字符、整数、double)等内容,而是指针,对32位机,就是4个字节。
而输入的字符串,长度是未知的,可能成百上千个,它怎么可能存放到变量 fenjihao 中呢?
[解决办法]
#include <stdio.h>
#include<stdlib.h>
int main()
{
char *fenjihao = NULL;
fenjihao=(char*)malloc(0x100);
scanf("%s",fenjihao);
printf("%c",*fenjihao);
}
[解决办法]
没给指针空间 你让它往哪里储存