破ID 发表于 2014-8-17 01:08:07

一个小问题!

问题:输入一个ASC2码值,然后输出相应字符。
程序运行后,我输入十进制码值,为什么直接结束?
是代码错误吗?

剑雨君 发表于 2014-8-17 01:19:59

scanf函数的格式不对啦,那个“十进制”要用printf函数输出。

破ID 发表于 2014-8-17 08:12:27

剑雨君 发表于 2014-8-17 01:19
scanf函数的格式不对啦,那个“十进制”要用printf函数输出。

谢谢

牡丹花下死做鬼 发表于 2014-8-17 10:42:56

什么叫ASC2 ←_←
还有scanf();里面最好别写非输入控制符←_←
还有 char ←_←
都是什么和什么啊

#include<stdio.h>

void clean();

int main()
{
        int i;
s:        printf("请输入一个ASCII字符(十进制):");
        scanf("%d",&i);
        if(i<0 || i>127)
        {
                printf("ASCII输入错误\n");
                clean();
                goto s;
        }
        else
        {
                printf("%d—%c\n",i,i);
                clean();
                goto s;
        }

        return 0;
}

void clean()
{
        char ch;
        while((ch = getchar())!='\n');
}

一个人在战斗 发表于 2014-8-17 15:02:53

char cA改成int cA就可以了。。。

破ID 发表于 2014-8-17 17:05:50

牡丹花下死做鬼 发表于 2014-8-17 10:42
什么叫ASC2 ←_←
还有scanf();里面最好别写非输入控制符←_←
还有 char ←_←


{:9_220:}谢谢
页: [1]
查看完整版本: 一个小问题!