| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1021 人关注过本帖
标题:求助,我是从零基础自学C语言.按照教程我自己编写了一个简易的程序但是出来的 ...
只看楼主 加入收藏
hack51920
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-8-16
结帖率:100%
收藏
 问题点数:0 回复次数:14 
求助,我是从零基础自学C语言.按照教程我自己编写了一个简易的程序但是出来的结果有问题请大侠赐教
原代码如下:
main()
{
  char a,b,c,d;
  scanf("%c,%c,%c",&a,b,c);
 if (a == 'wo',b == 'ai',c =='ni')

   {
   printf ("lao gong ai lao po");
   }
   else
   {
   printf ("qing shu ru zheng que xin xi");
   }
   getch();
}


我是用WIN-TC编写的,我在窗口中输入了"wo ai ni "可是却不能显示结果为"lao gong ai lao po "而显示出了else下的语句"qing shu ru zheng que xin xi"
求解是不是我输入的时候出现问题了啊.我是新手从零起步的,英文我都不懂所以我向各位大侠请教.求大侠们赐教.
搜索更多相关主题的帖子: C语言 zheng 英文 gong qing 
2011-05-27 11:57
guoqingchun
Rank: 2
等 级:论坛游民
帖 子:30
专家分:68
注 册:2008-6-19
收藏
得分:0 
#include<stdio.h>
int main()
{
  char a,b,c,d;
  scanf("%c,%c,%c",&a,&b,&c);
  if (a == 'w'&&b == 'a'&&c =='n')
   {
   printf ("lao gong ai lao po");
   }
   else
   {
   printf ("qing shu ru zheng que xin xi");
   }
   getch();
}
//你定义a b c是字符型的变量,字符型变量只能存储一个字符,如果你想输入wo,这属于字符串,以后你会学习到的,还有很多语法错误,好好看一下,像我这么改的话,你输入应该是:a,b,c
2011-05-27 12:05
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
楼主看的什么书?!

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-05-27 12:05
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
1、scanf中格式参数中有','那么输入时也要依次输入','不然会被','替换。
2、char ch = 'abcd' 那么 ch = 'd'; 也就是说只取最右边的一个字节。
3、在C++中 sizeof('a') == 1 在C中 sizeof('a') == 4

My life is brilliant
2011-05-27 12:14
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
很有意思的程序

我是初学者
2011-05-27 12:39
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:0 
想法挺好法,哄老婆开心的吧
程序代码:
#include <stdio.h>
#include <string.h>

unsigned char do_mapping(const char *c_str)
{
#define arraysize(p)    ( sizeof(p) / sizeof((p)[0]) )
    static char *mapping_tbl[] = {
        "sentence template 0",
        "sentence template 1",
        "sentence template 2",
        " "   
    };
    unsigned char i = 0;
    while (i < arraysize(mapping_tbl) &&
        strcmp(mapping_tbl[i++], c_str));
    return i-1;
}

int main(int argc, char *argv[])
{
#define C_LENGTH    255
   
    char c_str[C_LENGTH];
    char *p;
    printf("what u wanna say:\n");
    gets(c_str);
    switch (do_mapping(c_str)) {
    case 0:
        p = "trace case 0";
    break;
    case 1:
        p = "trace case 1";
    break;
    case 2:
        p = "trace case 2";
    break;
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
        p = "trace case belong to [3,9]";
    break;
    default:
        p = "trace case default";
    break;
    }
    printf("%s\n", p);
    __asm jmp main
    return 0;
}

技术问题,请不要以短消息方式提问
2011-05-27 13:32
hack51920
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-8-16
收藏
得分:0 
谢谢解答,是的字符变量里面只能一次只能放一个字符我忘记了我的书是C程序设计就是谭浩强教授的那本可是我看的视频教程是网上下载的。我也只是有时间看一下学一下。好多东西看了就忘记了谢谢你们的解答
2011-05-28 09:43
hack51920
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-8-16
收藏
得分:0 
我想通过这个帖子再问一下,要怎么才能让一个字符变量里面能放多个文字,或者有什么方法能不这么麻烦,如果我想输入很多文字那不是需要定义很多变量?我想让一个字符变量里面放多个文字可能不行是吧!这个好像是由内存决定是吗?如果是那样有什么方法解决这个问题吗?
2011-05-28 09:49
qianyou
Rank: 3Rank: 3
来 自:江西南昌
等 级:论坛游侠
帖 子:76
专家分:189
注 册:2011-3-25
收藏
得分:0 
回复 8楼 hack51920
用数组放呗!
2011-05-28 13:08
ab6326795
Rank: 2
等 级:论坛游民
帖 子:91
专家分:56
注 册:2010-11-8
收藏
得分:0 
看我的馊主意!!!
程序代码:
#include <stdio.h>

void main()
{
  char a,b,c,d,e,f;

  scanf("%c%c%c%c%c%c",&a,&b,&c,&d,&e,&f);  //直接输入  woaini 即可
if (a == 'w'&& b == 'o'&&c =='a'&&d=='i'&&e=='n'&&f=='i')  

   {
   printf ("你老公有外遇啦,哈哈!\n");
   }
   else
   {
   printf ("请输入正确的信息!\n");
   }
   getch();
}




2011-05-28 13:30
快速回复:求助,我是从零基础自学C语言.按照教程我自己编写了一个简易的程序但是 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019033 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved