[求助]”scanf(“%s”,&str);”等于”scanf(“%s”,str);” ?大吼一声,高人呢?!
刚刚看到这个程序,不知为何红色语句替换对程序没影响?
#include
#include
#include
int main()
{
char str[10];
int i=0;
memset(str,0,sizeof(str));
printf(“Enter a number:”);
scanf(“%s”,&str); //scanf(“%s”,str);
for(int j=0;j
{
printf(“%c\n”,str[j]);
}
getch();
return 0;
}
[此贴子已经被作者于2007-7-11 18:33:08编辑过]—————-解决方案——————————————————–
不可能呀!!我在编小玩意时,没打取值符号,就会出错
—————-解决方案——————————————————–
我在VC++6中试过
—————-解决方案——————————————————–
我觉得应该没有&的,str就是地址啊
—————-解决方案——————————————————–
没错应该是没有&的。
看了就知道了,这里就体现了char [] 和char * 的区别了
程序代码:
#include
#include
int main()
{
char str[10];//你换成char *str=(char*)malloc(10);再看
printf(\”&str=%x\n\”,&str);
printf(\”str=%x\n\”,str);
printf(\”&str[0]=%x\n\”,&str[0]);
system(\”pause\”);
}
—————-解决方案——————————————————–
嗯,两者确实不同……
—————-解决方案——————————————————–
但是
char str[10];和char *str=(char*)malloc(10);
定义的str究竟是怎么不同的呢
—————-解决方案——————————————————–
含泪扶一把……
就看着它沉下去,再无人过问……
—————-解决方案——————————————————–
我觉得我已经说的很清楚了
—————-解决方案——————————————————–
两种STR不都是指向字符的指针吗
—————-解决方案——————————————————–