几个关于c语言的问题,请求解答一下

第一张图的第一题,第二章图的前两道题。

首先,第一张图中的第一题,
str是一个局部指针变量,函数调用结束的时候,指针就已经销毁了,所以返回一个局部指针是危险的,不正确的。
可以这样修改,char *str = (char*)malloc(100);
strcpy(str, "hello world");
这样,str的位置就是在堆上,而不是栈上了。
第二张图片,第一题:
链表反转:
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
ListNode* ReverseList(ListNode* head) {
if(head==NULL)
return NULL;
ListNode* pre=NULL, *cur=head, *nxt=NULL;
while(cur)
{
nxt = cur->next;
cur->next = pre;
pre = cur;
cur = nxt;
}
return pre;
}
第二张图片,第二题不清晰,看不到问题追问

非常感谢,谢了!

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-11-21
作业帮下载,拍进去,答案出来了
第2个回答  2018-11-21
就那个作业帮扫一扫不就好了 啰里八嗦

学生来看这8道C语言谜题你能答对几个
参考答案:stdout和stderr是不同设备描述符。stdout是块设备,stderr则不是。对于块设备,只有当下面几种情况下才会被输入:遇到回车; 缓冲区满;flush被调用。而stderr则不会。2、下面的程序看起来是正常的,使用了一个逗号表达式来做初始化。可惜这段程序是有问题的。你知道为什么吗?参考答案:这个程序...

初学C语言的疑惑。请老师们细心指导,灰常感谢。满意了的话再加100分...
这里面几个问题回答如下:问题一:typedef structz 这个函数我不太懂,书上有点抽象;typedef是表示重新定义一个类型,后面跟着struct就是意味着这个新的类型是一个结构,合起来就是说,通过typedef重新定一个类型,类型的名字叫做“GPIO_InitTypeDef”,这个类型是一个结构体,这个问题明白了吗?那么后面所...

几道C语言的入门问题,给过程,在线等
1、C A选项表示8进制的1;B选项表示十六进制的1;C选项错误,0开头的表示八进制的整数常量,范围是0-7,08显然超过了8进制的表示范围;D选项表示十进制的8;2、B f表示单精度,不写的话默认都是双精度;3、0X10;两个十六进制的数进行按位与运算,首先把两个十六进制数化成二进制OX14:0010 0...

请教几个简单的C语言问题!急!在线等!
3、scanf函数结束输入没见过这种说法。4、二进制文件虽然也可在屏幕上显示,但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。格式控制串是一个字符串,必须用双引号括起来,它表示了输入输出量的数据类型。5、空语句:只有分号“;”组成的语句称为空语句。空...

c语言几个小小的问题 高手帮个忙
1. C 逗号在这里不合法 2. 输出2,虽然x是浮点型,但是10和4都是整型,所以先按整型运算,再将结果转换为浮点型 3. (++x, y++)表示这是一个逗号表达式,逗号表达式取最后一个表达式的值,也就是y++的值,所以输出结果是3和3 4. printf("%8.4g\\n",b); 这句输出8756,%g表示按%e或者...

几个C语言问题
1. A语句,首先执行 b = 34 ,接着执行 a = b 语句本身无错误。B语句,实际上是一个表达式,但没有接收该值。C语句,实际上是一个表达式,但没有接收该值。2. 很明显, 029带0前缀而且无后缀。3. 100!结果溢出了。4. 常识性问题。

C语言作业,急急急求解答
这个问题可能是由于软件代码中存在大量的冗余、重复计算或者低效算法等因素导致的。另外,如果软件需要加载大量的数据或者进行网络连接,则也会影响其启动速度。解决方案:为了解决这个问题,我们可以从以下几个方面入手:1.优化程序代码:检查程序中是否存在冗余、重复计算或者低效算法等因素,对代码进行优化和...

问几个C语言的问题,请说下选择的原因,谢谢!
y=float(i) 不正确,如果要强制转换的话,应该要写y= (float) i;2. 选B了,求余数,两边肯定要是整数了,否者小数怎么求余数啊。char型也是一个整数了 3. 选A了,形参与实参之间传递的方式,是将实参的值复制一份给形参。使用的是两个不同的存储单元。故调用函数时,对形参做的一切修改...

c语言的几个问题
1:字母只读一个,而数字可以很多个一起读。(我汗,以前都没注意着,C的题目越出越细了)2.空格也是字母的一种如果是10 20 AB,那么10 20 读的没错,但c1=‘_’,c2='A'。先读空格(补充下1的回答)3:那个逗号有,你输数据的时候也要相应的有逗号,D里z是double型,应该用%lf;4:长度...

问几个C语言里很多人没注意过的问题
说实话要是这几个问题只要理解了C语言的人,怎么可能不明白。很多人没注意,说明他们还没学懂。当然我也不是在自夸,我也是初学者,可是我还是为楼上几位悲哀。1.你要知道程序在内存中的结构,有栈区、堆区、文字常量区、全局变量区、函数区,使用 char* a = "xxx";这样的语句初始化指针a,"...

相似回答
大家正在搜