恭喜 “Visual C++” 版开张大吉,特此一问,请会C/C++的DFW过来看看,用delphi的兄弟也可以来瞧瞧(300分)

  • 主题发起人 主题发起人 小人物
  • 开始时间 开始时间
谭浩强的《C程序设计》,虽然有很多错误,但是这个地方还是对的;
钱江讲的也没错。
怎么没有专门的C/C++半崖
 
to yangmingnian,
你的程序我试过,但是如果要把getch();去掉,输出结果就是正确的。
main() {
int i;
char s[6]="china";
for(i=0;i<5;i++)
printf("%c",s);
printf("/n");
printf("%s/n/n",s);
/*getch();*/
}
 
别看他们的不就没有错!
我不惜荒唐好强的书,唧唧歪歪~````
 
《C程序设计》是我原来的自学教材!
 
其实,现在没人用C了,只用C++,这是两门完全不同的语言,至少高手们都这么说。
所以,你没有必要看C了,否则你会找不到工作的。
就像我一样,唉,可怜。
 
不注意‘/0'肯定带来灾难,看下面:
char a[9];
char *b;
char c[7];
char *d,*e,f[10];
char *point1,*point2;
point,point2是用来操作各个串的指针,操作过程中不加'/0'你等着出错吧。
结论:不管他们说什么,加入'/0'总是一个好的习惯,你不会因为耽误几秒钟而调试
一天吧?把时间放在其它的事情上,甭跟他们较劲。
 
学习了一把!
 
两个人都没错,请各位分清字符数组和字符串的区别:结构上相同,使用不同。同样一个东西,
作为字符串使用时要加#0,作为字符数组使用时则没这个必要。
 
to 小人物
那段程序我又测试了一遍,即使把getch();去掉,输出结果也是错的啊!!
我是在win2000下运行的,你的呢?
 
to yangmingnian,
我的编译环境是win98+Trubo c2.0
to all
谢谢各位,问题已解决。
 
我终于找到出错证据了(特别要感谢的是 MrMengyi大侠的提示)
main()
{char str[5]={'h','e','l','l','o'};
char c='m';
printf("%s,%c",str,c);
}
这样会出错,如果定义成 char str[6]={'h','e','l','l','o','/0'};就不会出错
main()
{char str[5]="hello"
char c='m';
printf("%s,%c",str,c);
}
会出错,如果定义成 char str[6]="hello"就不会出错。
我明白了,再次谢谢各位大侠![:)]
 
多人接受答案了。
 
后退
顶部