永发信息网

C语言怎么把数组中的值放到字符指针中

答案:2  悬赏:0  手机版
解决时间 2021-01-26 07:20
类似于char ch[] = {"abcd"}
char *p = NULL;调用ToString函数之后输出p=abcd
void ToString(char array[], int array_size, char *p)
{
int i;

p = (char*)malloc(array_size + 1);

for(i = 0; i < array_size; i++)
{
*(p+i) = array[i];
}
printf("int array is string %s\n", p);
}
在方法中能得到P的值,但是在main函数中却得不到P的值
最佳答案
在main里做p = (char*)malloc(array_size + 1);,在ToString里去掉这句。
全部回答
#include #include void main() { char a[ 100 ], *p, *q; int i, j, n = 0; char *b[ 50 ];//字符指针数组 printf("please input a sentence:\n"); gets( a ); p = a; while( *p != '\0' ) { if( *p == ' ') {//跳过空格 p++; continue; } else { i = 0; while( *( p + i ) != ' ' && *( p + i ) != '\0' ) i++; q = new char[ i + 1 ];//创建一个新的字符数组,存储单词 for( j = 0; j < i; j++ ) q[ j ] = p[ j ]; q[ i ] = '\0';//记得放上结束符 b[ n++ ] = q;//用字符数组中的元素指向新创建的字符数组 p += i; } } //以下换行输出,验证是否正确 for( i = 0; i < n; i++ ) printf( "%s\n", b[ i ] ); for( i = 0; i < n; i++ ) delete []b[i];//释放各个字符数组 } //测试:输入 // sdkjf skdj d // 输出 // sdkjf // skdj // d p.s: 或者输入一个完整的英文,如 " i am a genius!" 也可。程序会自动忽略空格。:-) 用c的malloc和free写起来较长,喜欢用c++中的new和delete
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
开心娱乐城地址好找么,我有些事要过去
肥料上20-20-20+0.5TE 请问0.5表示什么意思啊
迷娜思美容美发城地址好找么,我有些事要过去
3/1是5/6的几分之几?3/1表示3分之13/1是5/6的
万代钱柜地址在什么地方,我要处理点事
成语耳濡目染的意思是什么啊?有知道释义的请
如何将PPT打包成EXE文件自动播放
青岛农业大学今年有没有专科?
石油车为什么后面有铁链子
金杯海狮报价6座多少钱
联想g450能升级什么硬件
用什么词来修饰“能力”
小熊发型设计地址在什么地方,想过去办事
小学校园生活中难忘的一件事
学霸们,写一篇数学小论文200字
推荐资讯
为什么我在淘宝买了东西付了款,可是已买到的
华为手机能用两三年吗?
如果我自学了日语韩语 考等级在哪儿考
成语毫分缕析的意思是什么啊?有知道释义的请
为什么人有时候会突然伤心起来?
怎么洗澡洗头发最好(不要说沐浴露或洗发水的
松原经济开发区租房子贵吗
金属键有键长吗?如果有是什么?是原子到电子
(12分)下面是小芸同学生活的三个情境。请你
【诚实的】诚信的道德标准是()。
成语鞠躬君子的意思是什么啊?有知道释义的请
微信聊天记录换个手机登可以看见嘛?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?