社区
C语言
帖子详情
一道二级C语言题目!
cxr5201314
2009-03-26 09:21:11
#include <stdio.h>
#include <string.h>
fun(char *w,int n)
{
char t,*s1,*s2;
s1=w;s2=w+n-1;
while(s1<s2)
{t=*s1++;*s1=*s2--;*s2=t;}
}
main()
{
char *p;
p="1234567";
fun(p,strlen(p));
puts(p);
}
怎么执行的 看不懂 汗。。。没返回值 怎么输出呢?
...全文
134
15
打赏
收藏
一道二级C语言题目!
#include #include fun(char *w,int n) { char t,*s1,*s2; s1=w;s2=w+n-1; while(s1<s2) {t=*s1++;*s1=*s2--;*s2=t;} } main() { char *p; p="1234567"; fun(p,strlen(p)); puts(p); } 怎么执行的 看不懂 汗。。。没返回值 怎么输出呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rclijia
2009-03-31
打赏
举报
回复
[Quote=引用楼主 cxr5201314 的帖子:]
#include <stdio.h>
#include <string.h>
fun(char *w,int n)
{
char t,*s1,*s2;
s1=w;s2=w+n-1;
while(s1 <s2)
{t=*s1++;*s1=*s2--;*s2=t;}
}
main()
{
char *p;
p="1234567";
fun(p,strlen(p));
puts(p);
}
[/Quote]
程序能执行吗????
P指向只读区,你对*P修改肯定出错啊!!
changhe325
2009-03-27
打赏
举报
回复
[Quote=引用 7 楼 hahayihua 的回复:]
首先
s1->&1,s2->&7
循环第1次:s1 <s2
t=1;s1->&2;*s1=7;s2->&6;*s2=1;即此时数字是1734517
循环第2次 s1 <s2
t=7;s2->&3; *s1=1; s2->&5; *s2=7 1714717
循环第3次:s1 <s2
t=1;s2->&4;*s1=7;s2->&4; *s2=1; 1717717 -> 1711717
[/Quote]
行不行啊?这个程序本来是错的啊!你们都用什么编译器啊……
晕死
xing_cq
2009-03-26
打赏
举报
回复
#include <stdio.h>
#include <string.h>
char fun(char *w,int n)
{
char t,*s1,*s2;
s1=w;s2=w+n-1;
while(s1 <s2)
{ t=*s1++;*s1=*s2--;*s2=t;}
}
main()
{
char *p;
p="1234567";
fun(p,strlen(p));
puts(p);
}
magipan
2009-03-26
打赏
举报
回复
我用dev-c++运行出错的,不是试图改变常量么?传进去的是个常量地址啊
changhe325
2009-03-26
打赏
举报
回复
我用vc调试,总是abort
说XX地址不能为"written"
xiaoQ008
2009-03-26
打赏
举报
回复
覺得用文字敘述這個過程比較麻煩
況且語言的表述方式未必適合樓主您的風格~
本人覺得
自己用debuger跟蹤一遍應該就明白了~
shouwangzhe1981
2009-03-26
打赏
举报
回复
差一点出错,好好推推。
changhe325
2009-03-26
打赏
举报
回复
这个程序是错的……
p="1234567"; 这样的定义 p指向的是字符串常量……
对里面字符的操作都是非法的……
改成char p[] ="1234567";才可以吧。
hahayihua
2009-03-26
打赏
举报
回复
首先
s1->&1,s2->&7
循环第1次:s1<s2
t=1;s1->&2;*s1=7;s2->&6;*s2=1;即此时数字是1734517
循环第2次 s1<s2
t=7;s2->&3; *s1=1; s2->&5; *s2=7 1714717
循环第3次:s1<s2
t=1;s2->&4;*s1=7;s2->&4; *s2=1; 1717717 -> 1711717
cxr5201314
2009-03-26
打赏
举报
回复
传参数看的懂 执行过程中不是很明白。。
猫已经找不回了
2009-03-26
打赏
举报
回复
。。基本功不行,传2个参数看不懂?
cxr5201314
2009-03-26
打赏
举报
回复
怎么会输出1711717呢? 能说下执行步骤吗?谢谢!
downmooner
2009-03-26
打赏
举报
回复
1234567
7654321
rjianfeili
2009-03-26
打赏
举报
回复
函数fun(char *w,int n)
其中 *w 就是“1234567” int n 就是 “1234567”的长度 是没有返回值
但是指针p已经改变了指向的内存的值 后面puts(p) 就是输出来了
nullw
2009-03-26
打赏
举报
回复
fun(..)接收了指针,并在函数中拷贝和改变了指针所指向内存的值,虽然p没有改变,p所指向的值改变了。
全国计算机等级考试历届笔真题详解-
二级
C语言
程序设计
本资源提供的2009年版
二级
C语言
程序设计详解,可能涵盖了这些知识点的具体历年试题解析,通过分析这些
题目
,考生可以了解到考试的常见题型、解题思路以及评分标准。对于每
一道
题,通常会详细解释正确答案的选择依据...
计算机
二级
C语言
习题
计算机
二级
C语言
考试是众多计算机专业和非专业学生必过的
一道
门槛。它不仅仅要求考生具备扎实的理论基础,还要求具备良好的编程能力。为了帮助同学们备战这一考试,本文将对两个典型的
二级
C语言
考试中的编程
题目
进行...
计算机
二级
C语言
上机填空,改错,编程一百题完整版
本资源“计算机
二级
C语言
上机填空,改错,编程一百题完整版”是一个专门针对这个考试的练习集,包含了填空、改错和编程三种类型的
题目
,总计三百道,旨在帮助备考者全面复习和提升
C语言
技能。 填空题通常涉及对代码...
近五年
二级
C语言
真题及答案(含公共基础教程)
《近五年
二级
C语言
真题及答案》是一个包含近五年的全国计算机等级考试
二级
C语言
科目的真题和详尽解答的资源集合。这个压缩包是为那些正在备考
二级
C语言
考试的人量身定制的,提供了丰富的学习材料,旨在帮助考生全面...
上海市计算机
二级
C语言
历年真题1997~2009
【上海市计算机
二级
C语言
历年真题1997~2009】是一个汇集了上海地区计算机
二级
考试
C语言
部分13年间的真实试题资源。这个资料包对于备考上海市计算机
二级
考试,尤其是
C语言
部分的考生来说,具有极高的参考价值。通过对...
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章