源码
#include <stdio.h>
int main(void){
int a=2002;
printf("%d",a );
return 0;
}
输出:
➜ gcc -Wall -g test_sys_info.cpp -o test
➜ ./test
2002%
问题:输出为什么多一个百分号?
ubuntu 16.04 C 输出多余字符
-
- 帖子: 2
- 注册时间: 2016-04-12 18:47
- 系统: Ubuntu
- vickycq
- 帖子: 4507
- 注册时间: 2011-03-20 13:12
- 系统: Debian
- 来自: 山东省寿光县
- 联系:
Re: ubuntu 16.04 C 输出多余字符
猜测 当前命令提示符为百分号,或当前 shell 为 csh 且提示符为默认样式百分号。AllenZF 写了: printf("%d",a );
➜ ./test
2002%
问题:输出为什么多一个百分号?
由于 printf 未输出换行符,导致提示符附在输出之后。
代码: 全选
$ csh
% ./test
2002%
% echo $shell
/bin/csh
% exit
$ ./test
2002$
$ echo $SHELL
/bin/bash
$ PS1='% '
% ./test
2002%
%
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
欢迎所有 Debian GNU/Linux 用户
- lilydjwg
- 论坛版主
- 帖子: 4249
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: ubuntu 16.04 C 输出多余字符
当程序的输出最后一行不完整(没有换行符)时,zsh 会打一个反白的 % 然后换行,以表示这行不完整。(bash 会直接在那里写新提示符。)