#include <stdio.h> main(){
char *one="assssss"; char *two="assssss"; printf("please input two words:\n"); scanf("%s,%s",one,two);
printf("%s,%s\n",one,two); }
怎么每次输出都会比输入多几个莫名其妙的字符
根据我的理解好象当* one = "assssss"时,one[0]='b'就是'a'='b',所以他是不合法的,对不对
sorry,maybe you are wrong,I had a try and the output tell me you mistaked,but I'm still
thanksful to you!
see:
#include <stdio.h> int main(){ char *a="assssss"; printf("%s",a); a[0]='b'; printf("%s",a); return 0; }
the output is :
assssss
bssssss
上传不起来图片;真想让你看看我这边的输出;跟你说的不一样;怎么回事
[此贴子已经被作者于2004-05-06 22:30:01编辑过]
我用你刚才的代码,输出为
the address of constant string:
241
c4
the address of the char array:
-32
ffe0
now you will find they are not same
合理不合理啊?
[此贴子已经被作者于2004-05-06 23:12:43编辑过]
我又用win-tc试了一下;还是与前面的一样;
你也下载来运行那个代码看看;这个编译器用起来非常简单;几乎不用学,中文的
http://202.107.76.62/dispbbs.asp?boardID=2&ID=218
我是一直都相信你!我一直都在找一个编译器来来输出以证明你的说法;
dev我昨天就下载了;但是就不是好使用;我说的win-tc和Turbo c完全不一样;win-tc是我们国产的;我下载的这一个版本是经过几次改良的;但就是和win-tc的输出一样;不知道怎么搞的;操纵系统的原因可能吗?我是xp的