Tag: printf

printf忽略单反斜杠’\’

我有这个代码: int main(int argc, char * argv[]) { int i; printf(“%d%s”,argc,argv[1]); return 0; } 如果我将此代码作为a.out a\=b=运行a.out a\=b= 。我正在使用C-shell 它的输出是“ a=b= ”是否有任何方式可以将其输出更改为“ a\=b= ”。

用C / C ++打印前导空格和零

我需要在数字前打印一些前导空格和零,以便输出如下: 00015 22 00111 8 126 在这里,我需要在数字为even时打印leading spaces ,在odd时leading zero 我是这样做的: int i, digit, width=5, x=15; if(x%2==0) // number even { digit=log10(x)+1; // number of digit in the number for(i=digit ; i<width ; i++) printf(" "); printf("%d\n",x); } else // number odd { digit=log10(x)+1; // number of digit in the number for(i=digit ; i<width ; […]

C:数组初始化段错误取决于大小并调用printf()

另一位学生问我他的C代码有什么问题。 我成功地重现了错误的行为,完全不知道为什么会出现这种错误。 考虑一下这个小小的C程序: #include int main(void) { int N = 590; double A[N][N]; double B[N][N]; double C[N][N]; printf(“done”); } 将N设置为值<= 590: 这运行没有错误,有或没有输出。 将N设置为> 590的值: 在删除输出线的情况下运行完美无缺。 编译并运行输出: 分段错误 这是什么原因? 谁能解释一下?

__printflike__修饰符

究竟什么是“__printflike__修饰符”? 这个术语是什么意思?

将printf移动到不同的行会产生不同的输出? (C)

在C中,当我移动这个printf行时: printf(“%f\n”, 5 / 2); 它的输出变化到不同的行。 有任何想法吗? inheritance人代码: #include #include int main() { int a = 65; char c = (char)a; int m = 3.0/2; printf(“%c\n”, c); printf(“%f\n”, (float)a); printf(“%f\n”, 5.0 / 2); printf(“%f\n”, 5 / 2.0); printf(“%f\n”, (float)5 / 2); printf(“%f\n”, 5 / (float)2); printf(“%f\n”, (float)(5 / 2)); printf(“%f\n”, 5.0 / 2); printf(“%d\n”, m); […]

printf转换规范的大小限制

printf转换规范是%后跟标志,宽度,精度,长度修改器和转换说明符。 转换规范的大小是否有实际限制? 即%s是2个字符长,而%08.2f是6个字符长。 我的问题是,根据C99标准,可以创建的格式字符串中的最大单一规范的长度是多少?

Printf没有参数说明

我理解如果printf没有给出参数,它会输出一个意外的值。 例: #include int main() { int test = 4 * 4 printf(“The answer is: %d\n”); return 0; } 这将返回一个随机数。 在使用不同格式(如%p,%x等)后,它不会打印16(因为我没有将变量添加到参数部分)我想知道的是,这些值在哪里被采用从? 它是堆栈的顶部吗? 每次编译时它都不是新值,这很奇怪,它就像一个固定值。

如何在C中打印%s?

我想在C中打印”%SomeString%” 。 它是否正确? printf(“%%s%”,SomeString);

带字符串参数的fprintf

为了创建一个格式化的文件,我想利用fprintf 。 它必须得到char*参数,但我有几个字符串变量。 我该如何使用fprintf ?

为什么第一个和第三个printf工作方式如此不同?

printf(“line 5: %f\n”,98); //output is 0.000000 printf(“line 6: %f\n”,98.98); //output is 98.980000 printf(“line 5: %f\n”,98);//though same as first printf statement but output is 98.979980 虽然第一个和最后一个printf语句完全相同,但它们的输出不同。 为什么? 因为当它期望浮动时,正在将int传递给printf,这就是为什么它工作奇怪。 但我的观点是为什么在最后一个打印声明中,不是打印一些垃圾值或0,而是使用第二个printf语句的值,这就是打印的内容。