C语言的输出问题,程序修改

img


为什么这个程序输出看不到这个井号#
井号全部变成了空格,用的是vs2022编译器,哪里要修改可以让他输出井号#

n--<0不满足,不执行循环。跳过了。

【以下回答由 GPT 生成】

问题的原因是在pound()函数中,参数是int类型,而井号#的ASCII码对应的是35,超出了int类型的范围,导致输出时被截断成空格。要解决这个问题,可以将参数的类型改为char类型。下面是修改后的代码:

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

void pound(int n);
void printChar(char ch);

int main(void) {
    int times = 5;
    char ch = '#';
    float f = 6.0;

    pound(times);
    printChar(ch);
    printf("\n");
    pound(f);

    return 0;
}

void pound(int n) {
    while(n-- > 0) {
        printf("#");
    }
}

void printChar(char ch) {
    printf("%c", ch);
}

修改部分说明: 1. 新增了一个名为printChar()的函数,用于打印单个字符。这个函数的作用是为了输出#字符。 2. 在main()函数中,将第二个调用pound(ch)修改为printChar(ch),这样就可以通过新的函数打印出#字符了。

这样修改后,程序就能正确输出井号#了。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^