gpt4 book ai didi

c - printf 语句中的额外输出行

转载 作者:行者123 更新时间:2023-12-03 03:39:11 24 4
gpt4 key购买 nike

我试图将一个字符作为输入,并将其 ascii 值作为输出,直到用户给出 0 作为输入。它可以工作,但总是显示额外的 ASCII 值 10。我做错了什么?

#include <stdio.h>
#include <stdlib.h>
int main(void){
printf("Welcome to ASCII:\n");
char input;
while(input != 48){
scanf("%c", &input);
printf("ascii: %d\n", input);
}
printf("done\n");

}

输出

Welcome to ASCII:
e
ascii: 101
ascii: 10
h
ascii: 104
ascii: 10
l
ascii: 108
ascii: 10
0
ascii: 48
done

最佳答案

10 是 '\n' 的 ASCII 值,即按 Enter 时生成的换行符。您可以添加对该字符的检查而不打印其值。

使用 '0' 而不是写入 ASCII 值 48 也是一种不错的风格。

while (input != '0') {
scanf("%c", &input);

if (input != '\n') {
printf("ascii: %d\n", input);
}
}

关于c - printf 语句中的额外输出行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12906129/

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