社区
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);
}
怎么执行的 看不懂 汗。。。没返回值 怎么输出呢?
...全文
122
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写文章
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语言
上机考试题库(
二级
C语言
)
本题库共有100套
题目
(每套
题目
包含3道题:
一道
程序填空题、
一道
程序修改题、
一道
程序设计题),真实考试的时候,考生输入准考证后计算机随机为你抽取一套考试,每个考生考试时只需考一套
题目
(包含三道题),但由于考试时是随机抽题,所以即使把原题库告诉大家,你也不能知道到时计算机会给你抽取哪一套题,所以大家只有把全部题库都理解才能万无一失)
二级
C语言
上机考试题库,本题库是针对2008年4月份考试的上机考试题库,本题库共有100套
题目
(每套
题目
包含3道题:
一道
程序填空题、
一道
程序修改题、
一道
程序设计题)
二级
C语言
上机考试题库,本题库是针对2008年4月份考试的上机考试题库,本题库共有100套
题目
(每套
题目
包含3道题:
一道
程序填空题、
一道
程序修改题、
一道
程序设计题)
CTC计算机
二级
C语言
上机题库
本题库共有100套
题目
(每套
题目
包含3道题:
一道
程序填空题、
一道
程序修改题、
一道
程序设计题),真实考试的时候,考生输入准考证后计算机随机为你抽取一套考试,每个考生考试时只需考一套
题目
(包含三道题),但由于考试时是随机抽题,所以即使把原题库告诉大家,你也不能知道到时计算机会给你抽取哪一套题,所以大家只有把全部题库都理解才能万无一失)
二级
C语言
上机试题汇编
本题库是针对2008年4月份考试的上机考试题库,本题库共有100套
题目
(每套
题目
包含3道题:
一道
程序填空题、
一道
程序修改题、
一道
程序设计题),真实考试的时候,考生输入准考证后计算机随机为你抽取一套考试,每个考生考试时只需考一套
题目
(包含三道题),但由于考试时是随机抽题,所以即使把原题库告诉大家,你也不能知道到时计算机会给你抽取哪一套题,所以大家只有把全部题库都理解才能万无一失)
二级
C语言
上机题库100套
说明:本题库是针对2008年4月份考试的上机考试题库,本题库共有100套
题目
(每套
题目
包含3道题:
一道
程序填空题、
一道
程序修改题、
一道
程序设计题),真实考试的时候,考生输入准考证后计算机随机为你抽取一套考试,每个考生考试时只需考一套
题目
(包含三道题),但由于考试时是随机抽题,所以即使把原题库告诉大家,你也不能知道到时计算机会给你抽取哪一套题,所以大家只有把全部题库都理解才能万无一失)
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章