读书人

字符指针赋值有关问题太尴尬了

发布时间: 2012-08-31 12:55:03 作者: rapoo

字符指针赋值问题,太尴尬了

C/C++ code
#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();}

为什么我一输入就程序出错了!!!

[解决办法]
对空指针赋值,不出错才怪。。。
多看看书把
[解决办法]
getch() 没这函数吧,看编译错误
[解决办法]
正如楼上所说,是要分配内存的
[解决办法]
都没内存空间,你让输入的东西存哪啊
[解决办法]
用malloc把指针都分配一下内存;
[解决办法]
C/C++ code
#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);


}



[解决办法]
没给指针空间 你让它往哪里储存

读书人网 >C语言

热点推荐