QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 789|回复: 12

一个c语言问题

[复制链接]
发表于 2003-5-14 07:49:23 | 显示全部楼层 |阅读模式
#include <stdio.h>
main()
{
      char a[4];
      int i;
      for(i=1;i<5;i++)
          scanf("%c\n",&a);
      for(i=1;i<5;i++)
          printf("%c",a);
      printf("\n");
}
为什么我要输入五个字符才行呢?
我要的是四个啊!!! :-(  :-(  :-(
发表于 2003-5-14 07:56:00 | 显示全部楼层
anyway u code is wrong, array index starts from 0, only a[0], a[1], a[2], a[3] is valid. u access to a[4] is invalid.

why need 5, remove that \n in scanf and try again. i am not sure.
回复

使用道具 举报

发表于 2003-5-14 08:56:31 | 显示全部楼层
I don't know anything about C, but just like cheungming said, Array index begin from 0, a[0]~a[4], there are 5.
回复

使用道具 举报

发表于 2003-5-14 10:45:52 | 显示全部楼层
同意cheungming:
[code:1]
for(i = 0; i < 4; i++)
  scanf("%c", &a[i]);  /* 用getchar好一点吧,不喜欢用scanf */
[/code:1]
回复

使用道具 举报

发表于 2003-5-14 13:27:20 | 显示全部楼层
这是我知道不多的几个问题之一,呵呵
main()
{
char a[3];
int i;
scanf("%c\n",&a);
for(i=1;i<4i++)
printf("%c",a);
printf("\n");
}

I think #include <stdio.h> can be ignore.
回复

使用道具 举报

发表于 2003-5-14 13:34:06 | 显示全部楼层
main()
{
char a[3];
int i;
for(i=1;i<4;i++)
scanf("%c\n",&a);
for(i=1;i<4i++)
printf("%c",a);
printf("\n");
}

少了一行
回复

使用道具 举报

发表于 2003-5-15 22:42:47 | 显示全部楼层
array begin 0 element
回复

使用道具 举报

发表于 2003-5-16 10:51:22 | 显示全部楼层
for(i=0;i<4;i++)
   //...
回复

使用道具 举报

发表于 2003-5-16 12:43:29 | 显示全部楼层
有没有经典C程序让大家来参透参透的,这个太简单了吧
回复

使用道具 举报

发表于 2003-5-17 00:34:25 | 显示全部楼层
我公司的机器上面有一些经典C程序, 下周一到公司贴上来.
回复

使用道具 举报

发表于 2003-5-17 00:37:17 | 显示全部楼层
读UNIX环境高级编程, 就会理解了.
回复

使用道具 举报

发表于 2003-5-17 02:51:21 | 显示全部楼层
yes, apue is realy cool. i still can not understand it well even now.
回复

使用道具 举报

发表于 2003-5-17 09:06:26 | 显示全部楼层
  
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-15 23:01 , Processed in 0.105915 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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