计算机二级C中的问题,求大佬帮忙

[复制链接]
查看11 | 回复5 | 2021-1-27 05:26:44 | 显示全部楼层 |阅读模式



我对于这个编程题写的一个代码,大体思路是把a的字符串复制到b中,求出前导星号的个数。
再利用循环将b中的字符赋给a,运行之后显示b没有初始化。查书之后没有找到。

备注:环境是MicrosoftVisualC++2010Express,头文件只有stdio.h
感谢
分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:26:44 | 显示全部楼层
把a字符串复制到b中,需要先给b分配一段内存,但你的代码里没有分配内存的语句。
回复

使用道具 举报

千问 | 2021-1-27 05:26:44 | 显示全部楼层
字符数组和字符指针是不同的,你要动态分配一个字符串长度+1的字符数组来操作。
回复

使用道具 举报

千问 | 2021-1-27 05:26:44 | 显示全部楼层
简单一点:
voidfun(char*a)
{
char*p=a;
while(*p=='*')p++;
while(*p)*a++=*p++;
while(a引用3楼早打大打打核战争的回复:简单一点:
voidfun(char*a)
{
char*p=a;
while(*p=='*')p++;
while(*p)*a++=*p++;
while(a
这个简洁,这种从后向前移动不需要另一个数组。
回复

使用道具 举报

千问 | 2021-1-27 05:26:44 | 显示全部楼层
引用1楼青蛙工作室的回复:把a字符串复制到b中,需要先给b分配一段内存,但你的代码里没有分配内存的语句。
头文件里面没有stdlib.h没有办法动态分配内存。是不是就只能用那个简单的方法了?
回复

使用道具 举报

千问 | 2021-1-27 05:26:44 | 显示全部楼层
引用5楼念此生的回复:Quote: 引用1楼青蛙工作室的回复:把a字符串复制到b中,需要先给b分配一段内存,但你的代码里没有分配内存的语句。
头文件里面没有stdlib.h没有办法动态分配内存。是不是就只能用那个简单的方法了?

如果确实不能分配内存,那么3楼可能是最合适的答案。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行