标题:字符串问题
只看楼主
hzx_029
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-10-24
得分:0 
我是按你的方法自己修改后行的~!谢谢~!
2006-12-13 12:19
abcBoy
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-12-13
得分:0 
以下是引用song4在2006-12-13 12:13:46的发言:
不丢内存么

不丢内存。因为此时无论是形参指针p或者p都已经指向固定的字符串了.不过可以这样改更简单些
char fun(char *p,int i)
{ char temp;
if(i>strlen(p)||i<1) return 0;
temp=p[i-1];
for(;i<=strlen(p);i++)
p[i-1]=p[i];
return temp;
}

2006-12-13 12:48
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
得分:0 

VC6.0运行全部错误


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-12-13 21:39
abcBoy
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-12-13
得分:0 
那是因为vc中对char *p指向的字符串默认为不可修改的,
而C语言标准没有对此规定它不可修改。
2006-12-13 21:43
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
得分:0 

这里 char *p="123456789T";
默认是const char *p;

#include<iostream>
using namespace std;

void main()
{
int i=1; // i 不是常量并不表示1不是常量
char *a="hello"; //a不是常量,并不表示"hello"不是常量。
a="123"; //编译通过 ->a不是常指针(可以改变地址)
a++; //编译通过 -> a不是常指针(可以改变地址)
a[0]='H'; //编译通过,运行错误(试图对常量进行修改)-> a是const char *;

}


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-12-13 21:59
abcBoy
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-12-13
得分:0 

我说了在c++,char *p指向的字符串是不可修改的,
但在C语言中,并没有规定它不可修改。

2006-12-13 22:06
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
得分:0 
是么
可能对象语言看多了
过程语言忘了
但是C语言不把那个字符串当常量看么

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-12-13 22:10
abcBoy
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-12-13
得分:0 

这个字符串在C++里是被看成是常量了,
在c里倒是没对它做那么多规定。
我教C2年了,倒是都以C的眼光看语言了...

2006-12-13 22:14
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
得分:0 

呵呵,老师啊
行贿行贿
帮忙看看DEV能不能通过
下了

[此贴子已经被作者于2006-12-13 22:20:39编辑过]


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-12-13 22:19
abcBoy
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-12-13
得分:0 
以下是引用song4在2006-12-13 22:19:04的发言:

呵呵,老师啊
行贿行贿
帮忙看看DEV能不能通过
下了

通不过。看来只能在C编译器通过了.恩,8.

2006-12-13 22:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-109192-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.014609 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved