18326638710 发表于 2013-11-16 18:35:34

字符与字符串


#include <stdio.h>

void main()
{
int a;
int i,n;
printf("input char: ");
for ( i=0; i<100; i++ )
{
       scanf("%c",&a);
       printf("%c\n",a);
if ( getchar() == '\n')
    {
      printf("%d\n",i);
      break;
   }
}
}       //这代码自己也不知道怎么写出来的,运行结果不是预定的一样,不知道怎么写。
小甲鱼,第五章016课时里的计算输入字符串的个数,那个答案好像错了。getchar()只能得到一个字符,gets()才能得到字符串。但是怎样才能计算得到的字符串的个数呢?求解,想不到。

牡丹花下死做鬼 发表于 2013-11-16 18:35:35

你就是想让用户输入输入一串字符串然后照样输出一遍在计算出字符的个数是吧#include <stdio.h>

int main()
{
        char a;
        int n = 0;
        printf("input char: ");
        while((a = getchar())!='\n')
        {
                printf("%c",a);
                n++;
        }
        printf("\n");
        printf("该字符串有%d个字符\n",n);
        return 0;
}

仰望天上的光 发表于 2013-11-16 18:46:41

gets()成功一次就意味着得到一个字符串,最终gets()返回NULL一维着用户输入了结束符EOF

仰望天上的光 发表于 2013-11-16 18:46:44

gets()成功一次就意味着得到一个字符串,最终gets()返回NULL一维着用户输入了结束符EOF

18326638710 发表于 2013-11-16 19:37:43

仰望天上的光 发表于 2013-11-16 18:46 static/image/common/back.gif
gets()成功一次就意味着得到一个字符串,最终gets()返回NULL一维着用户输入了结束符EOF

可怎么得到它的字符个数呢,,刚刚又研究了一下,还是不会。

仰望天上的光 发表于 2013-11-16 20:15:57

#include <string.h>
#include <stdio.h>

int main(void) {
        int total = 0;
        char tmp;
        puts("input some strings");
        while( gets(tmp) != NULL ) ++total;
        printf("input %d strings\n",total);
        return 0;
}

18326638710 发表于 2013-11-16 22:09:41

仰望天上的光 发表于 2013-11-16 20:15 static/image/common/back.gif


这个我测试了一下,好像不行。

18326638710 发表于 2013-11-16 22:10:24

这个是我测试的结果。

18326638710 发表于 2013-11-16 22:21:20




这个是我上面帖的代码测试的结果。。不过它是隔一个字符打印一个。。

18326638710 发表于 2013-11-16 22:22:00

18326638710 发表于 2013-11-16 22:21 static/image/common/back.gif
这个是我上面帖的代码测试的结果。。不过它是隔一个字符打印一个。。

18326638710 发表于 2013-11-16 22:23:48

18326638710 发表于 2013-11-16 22:22 static/image/common/back.gif


求解??????

cainiao367 发表于 2013-11-17 10:43:40

在一些封装好的字符串函数里面,很多都会调用到getchar这个来从键盘获得标准的输入,如果是从文件获得输入是用fgetc这个函数。
关于从键盘计数输入字符串时,我觉得11楼牡丹花做的不错,但是要注意两点,这个函数最好写成子函数,还有就是需要加一些终止条件。其他的都很好。我也是菜鸟,互相学习学习。

18326638710 发表于 2013-11-17 13:15:36

cainiao367 发表于 2013-11-17 10:43 static/image/common/back.gif
在一些封装好的字符串函数里面,很多都会调用到getchar这个来从键盘获得标准的输入,如果是从文件获得输入是 ...

嗯嗯,谢谢。

18326638710 发表于 2013-11-17 15:24:14

牡丹花下死做鬼 发表于 2013-11-16 18:35 static/image/common/back.gif
你就是想让用户输入输入一串字符串然后照样输出一遍在计算出字符的个数是吧

我还有一点疑惑??
为什么在while 语句表达式中不能用getchar(),而必须要用(a=getchar())。{:5_94:}
页: [1]
查看完整版本: 字符与字符串