这是我的简单c代码。谁能告诉我为什么它给我这个输出? 我正在使用gcc编译器(版本:7.3.0)在arch linux 4.15.1-2-ARCH机器上编码 我编译:gcc --std = c99 -Wall --pedantic client.c -o client
我有以下代码:
#include <stdio.h>
int main(void) {
printf("Test.");
return 0;
}
但它得到以下输出:
Test.%
我不知道%的来自哪里。如果有人能给我一个提示,那就太好了。
答案 0 :(得分:2)
您的printf
字符串不包含换行符。因此,在您的程序打印之后,您的shell通常打印的任何字符串将立即显示。
在我的机器上运行:
$ ./x1
Test.$
我的提示是&#34; $&#34;,以便在字符串后显示的内容
将\n
(换行符的转义序列)添加到字符串中会使您的提示出现在以下行中:
printf("Test.\n");
输出:
$ ./x1
Test.
$
答案 1 :(得分:0)
尝试:
printf("Test.\n");
程序打印的单词Test.
可能与终端提示符的第一个字符一起加入。添加\n
将打印换行符,因此当您的程序退出时,终端提示将写在下一行。