gpt4 book ai didi

c - 在 C 中打印两个给定字符之间的所有 ASCII 字符

转载 作者:行者123 更新时间:2023-11-30 16:21:29 29 4
gpt4 key购买 nike

我编写了一个程序来打印两个给定字符之间的所有 ASCII 字符,但然后我将其写入函数中。这两个程序的输出是不同的。我尝试使用指针通过引用传递变量,但输出不太可能像第一个程序一样。我应该怎么做才能正确地做到这一点?

这是使用线性编程的第一个 C 程序。

#include <stdio.h>>
int main()
{
char a,b,tmp;
int d;
scanf("%c%c",&a,&b);
if(a>b)
{
tmp=a;
a=b;
b=tmp;
}
d = b - a;
for (char c = a+1;c<b;c++)
{
printf("%c : %d, %o, %X\n",c,c,c,c);
}
}

这是函数中的另一个程序。

#include <stdio.h>>

void ascii(char a,char b);

int main()
{
char a,b,tmp;
int d;
printf("Enter 2 character => ");
scanf("%c%c",&a,&b);
ascii(&a,&b);
}

void ascii(char a,char b)
{
int d;
if (a>b)
{
char tmp= a;
a=b;
b=tmp;
}
d=b-a;
for (char c=a+1;c<b;c++)
{
printf("%c : %d, %o, %X\n",c,c,c,c);
}
}

最佳答案

你不应该将变量的地址传递给你的函数,正确的应该是

#include <stdio.h>>

void ascii(char a,char b);

int main()
{
char a,b,tmp;
int d;
printf("Enter 2 character => ");
scanf("%c%c",&a,&b);
ascii(a,b);
}

void ascii(char a,char b)
{
int d;
if (a>b)
{
char tmp= a;
a=b;
b=tmp;
}
d=b-a;
for (char c=a+1;c<b;c++)
{
printf("%c : %d, %o, %X\n",c,c,c,c);
}
}

关于c - 在 C 中打印两个给定字符之间的所有 ASCII 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54841466/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com