设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
输入4位数字,在输出时每两个数字字符间有一个空格,我 ...
返回列表
发新帖
输入4位数字,在输出时每两个数字字符间有一个空格,我编的哪里错了,高手指教:
[复制链接]
11
|
2
|
2009-4-11 21:30:13
|
显示全部楼层
|
阅读模式
正确程序是:
#include
#include
void insert(char[]);
main()
{char str[80];
printf("input four digits:");
scanf("%s",str);
insert(str);
}
void insert(char str[])
{int i;
for(i=strlen(str);i>0;i--) /*在这我改了,改成“for(i=0;i〈strlen(str);i++)”*/
{str[2*i]=str
;
str[2*i-1]=' ';}/*在这我也改了,我改成“str[2*i+1]=' ';”,我想结果应该是不变的,可是这样一来,程序就无法得到结果了,为什么啦,我从左到右输出怎么就不对了,高手指教,谢谢。*/
printf("output:%s\n",str);
getch();
}
回复
使用道具
举报
千问
|
2009-4-11 21:30:13
|
显示全部楼层
注意这句两str[2*i]=str
; str[2*i-1]=' ';是对str[2*i]操作赋值,你在从左往右操作时,会破坏str[2*i]的原始数据。例如i=2时,str[4]被赋值,而在i=4时,str[8]=str[4],此时的str[4]已经发生过改变了。...
回复
使用道具
举报
千问
|
2009-4-11 21:30:13
|
显示全部楼层
搓了一位人家是1-长度你是0-长度-1能一样嘛。。。。I参数参与运算的,不只是一个循环记数器...
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
合肥看癫痫病的费用一共得多少钱?
2
杭州癫痫检查费用一般得多少钱?
3
合肥治疗癫痫的费用一般要多少?