鱼C论坛

 找回密码
 立即注册
查看: 4380|回复: 5

求高手解答下,想了一个多小时了。现谢谢了;

[复制链接]
发表于 2012-11-10 00:44:25 | 显示全部楼层 |阅读模式
5鱼币
  1. #include<stdio.h>
  2. void main()
  3. {
  4.    char a[] = "fishc.com is a good web site!",b[40];
  5.    int i;
  6.    for(i = 0; *(a+i)!='\0';i++)
  7.    {
  8.     *(b+i)=*(a+i);
  9.    }
  10.     *(b+i)='\0';
  11.    
  12.    printf("string a is: %s\n", a);
  13.    printf("string b is: " );-----为什么这里不可以直接输出B数组的值,要用到下面的循环,上面不是把a的
  14.    for(i = 0; b[i]!='\0';++i) 值赋给B了吗,那为什么A的值又可以直接输出。
  15.    {
  16.      printf("%c", b[i]);
  17.    }
  18. }
复制代码



补充内容 (2012-11-10 01:17):
我试过了不加后面的循环输出不了。

最佳答案

查看完整内容

试过你的代码了,是可以输出b的数组。。。你再试试
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-11-10 00:44:26 | 显示全部楼层
  1. #include<stdio.h>
  2. void main()
  3. {
  4.    char a[] = "fishc.com is a good web site!",b[40];
  5.    int i;
  6.    for(i = 0; *(a+i)!='\0';i++)
  7.    {
  8.     *(b+i)=*(a+i);
  9.    }
  10.     *(b+i)='\0';

  11.    printf("string a is: %s\n", a);
  12.    printf("string b is: %s\n", b);//为什么这里不可以直接输出B数组的值,要用到下面的循环,上面不是把a的
  13.   /* for(i = 0; b[i]!='\0';++i) 值赋给B了吗,那为什么A的值又可以直接输出。
  14.    {
  15.      printf("%c", b[i]);
  16.    }*/
  17. }
复制代码
试过你的代码了,是可以输出b的数组。。。你再试试
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-11-10 00:50:53 | 显示全部楼层
可以直接输出,你的想法是对的。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-11-13 15:32:37 | 显示全部楼层
楼 上 正 解
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-11-17 00:05:35 | 显示全部楼层
试过你的代码了   楼上正解
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-11-17 13:39:26 | 显示全部楼层
  1. #include<stdio.h>
  2. void main()
  3. {
  4.    char a[] = "fishc.com is a good web site!",b[40];
  5.    int i;
  6.    for(i = 0; *(a+i)!='\0';i++)//这里相当于有两段不同的内存,首地址分别是a和b,经过这个语句,b
  7.    {                                   //段的内容变成了a段中的内容,而a段并没有改变,相当于我告诉你一件事
  8.     *(b+i)=*(a+i);                //并不是我告诉你之后我就不知道了,我告诉你之后结果是咱们俩都知道
  9.    }
  10.     *(b+i)='\0';
  11.    
  12.    printf("string a is: %s\n", a);
  13.    printf("string b is: " );你这里根本就没有让b输出,b当然不输出,变为printf("string b is: %s\n" ,b);
  14.    for(i = 0; b[i]!='\0';++i)
  15.    {
  16.      printf("%c", b[i]);
  17.    }
  18. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-16 05:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表