【发布时间】:2017-11-21 16:03:18
【问题描述】:
我试图制作一个对于菜鸟来说太大的程序。它大约有 100 行(对于像我这样的新手来说,它很大)。但是每次我运行它的循环都没有结束。所以决定编译和检查代码的一小部分,我在第一部分得到宾果游戏。这是那部分
#include <stdio.h>
int main(){//B main
int cha,z;
printf("enter the alphabte in capital until you want the alphabats :- ");
scanf("%c",&z);
for(;z>=65;z--)
for(cha=65;cha<=z;cha++)
{
if(cha!=z)
printf("%c ",cha);
else
printf("%c \n",cha);
}
}//B main
.我已经修改了它,如果我输入 c 它应该给出这样的输出:-
A B C
A B
A
但循环并没有结束,我不断在终端上得到类似的东西
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
因此尝试这部分
#include <stdio.h>
int main(){
int a;
scanf("%d",&a);
printf("%d",a);
}
如果我输入 A,那么它应该给我 65 作为输出,因为 A 的 ASCII 值是 65,但它给我以下输出
32766
但我的这个程序给了我正确的 ASCII 值
#include <stdio.h>
#include <stdlib.h>
int main(){
int b,c;
b=0;
printf("\n these are ASCII values of all letters \n\n\n ");
while(b<=255)
{
printf("%c %d \n",b,b);
b=b+1;
}
}
如何将a A G j 等字符用作具有 ASCII 值的整数?
如何使用它们的 ASCII 值进行算术运算?
【问题讨论】:
-
请尝试重新组织问题。甚至很难理解你在问什么。
-
%c需要一个字符作为参数,而不是整数。 -
总是检查
scanf的返回值。 -
对于您的第一个程序,使用 调试器 逐行执行代码,看看它做了什么。