标签: printf

如何修复PHP sprintf行为?

上下文

  • PHP
  • XAMPP

为什么这不打印任何东西?

$a=sprintf('<s');
echo $a;
Run Code Online (Sandbox Code Playgroud)

php printf

-4
推荐指数
1
解决办法
538
查看次数

在C中打印结构的名称

是否可以打印结构名称?

说我有一个结构:

typedef struct someName{
uint16_t  value;
uint16_t  field;
} someName_t;

someName_t test;

printf("%" PRIu16 "\n", test;
printf("%" PRIu16 "\n", test.value);
Run Code Online (Sandbox Code Playgroud)

打印test.value是oke.打印测试给了我警告..这是打印结构名称的正确方法,它甚至可以在C中使用吗?

首先PRIu16是我在stackoverflow上找到的,这是打印uint16_t的正确方法.

我想打印名称someName_t.

c printf struct

-4
推荐指数
1
解决办法
4555
查看次数

为什么C程序在打印指针时会给我这个输出?

#include <stdio.h>

int main()

{
    int i;
    int buf[10];
    char *p ;
    p = 4;
    printf("%d",p);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

4

怎么会是4?我期待一些地址价值.你能帮我理解一下吗?

c printf pointers

-4
推荐指数
1
解决办法
89
查看次数

如何在C中用printf显示int

当我尝试使用printf()函数在C中显示int时,我遇到了一些奇怪的麻烦.这是我正在使用的代码

            printf("To compute pi enter n: ");
            int n_term = 1;

            printf("n: %d \n", &n_term); 
            scanf("%d", &n_term);
            printf("n: %d", &n_term);
Run Code Online (Sandbox Code Playgroud)

我意识到存在一个问题,因为当我尝试简单地将n_term打印回用户时,甚至在他们为n_term输入任何值之前,它就会出现这个巨大的数字,2686776.任何有关此问题的见解都会非常感激.我正在使用gcc编译器,如果这有任何区别.

c printf

-4
推荐指数
1
解决办法
2904
查看次数

打印程序,请说明输出

#include <stdio.h>

void myPrint (int n) {
    printf("%d", n/2);
    if(n > 0)
        myPrint (n - 1);
    printf("%d", n);
}

int main (void) {
    int count = 4;
    myPrint (count);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这个简单的打印程序打印2110001234,有人请解释为什么最后打印01234.我不知道为什么每次都加1.

c printf

-4
推荐指数
1
解决办法
68
查看次数

无法打印长长双输出

我的问题很简单,如何打印长长双输出?我知道如何打印长双ie

printf("%Lf",output);
Run Code Online (Sandbox Code Playgroud)

c double printf

-4
推荐指数
1
解决办法
655
查看次数

由于无关的空printf语句,C程序输出完全改变

我这里有这个C程序代码,它确定了数组的最高连续值:

#include <stdio.h>

int inputs[8];
int calcSum(int i, int j);

int main(void) {
        int i, j, maxSum = 0, tempSum = 0;
        int length = sizeof(inputs)/sizeof(inputs[0]);
        for(i=0;i<length;i++) {
                scanf("%d", &inputs[i]);
        }
        for(i=0;i<length;i++) {
                for(j=i;j<length;j++) {
                        tempSum = calcSum(i,j);
                        if(tempSum > maxSum) {
                                maxSum = tempSum;
                        }
                }
        }
        printf("%d\n", maxSum);
        return 0;
}

int calcSum(int i, int j) {
        int c, sum;
        for(c=i;c<=j;c++) {
                sum+=inputs[c];
        }
        return sum;
}
Run Code Online (Sandbox Code Playgroud)

尽管这段代码看起来对我来说是正确的,但它会输出错误的结果.采样加入任何形式的printf("")(可以是空的也一样)之间tempSum = ...,并if(tempSum >...)将使代码输出所有测试用例正确的答案.我甚至从头开始重写了整个代码,但仍然遇到了同样的问题.例如,数字序列:5 2 …

c arrays printf

-4
推荐指数
1
解决办法
77
查看次数

fopen,fprintf,fclose的单线程?

我将一些非常临时的调试打印放到各种用户空间程序中,以确定哪些代码在嵌入式Linux设备上运行,我希望这些打印文件写入文件而不会让它打开.为了使调试在各种程序之间更容易移植,最好有一个可以打开文件,写入文件并关闭它而不必在别处定义函数/宏的单行程序.我可以这样做:

{ FILE *f = fopen("filename", "a"); if (f) { fprintf(f, "DEBUG MSG\n"); fclose(f); } else printf("File open error!\n"); }
Run Code Online (Sandbox Code Playgroud)

这只是删除空格:

{
    FILE *f = fopen("filename", "a");
    if (f) {
        fprintf(f, "DEBUG MSG\n");
        fclose(f);
    }
    else
        printf("File open error!\n");
}
Run Code Online (Sandbox Code Playgroud)

但这感觉不必要复杂.有没有更简单的方法来做到这一点?同样,我不是在谈论使它成为一个函数,因为我希望它可以在不同的程序之间进行复制/粘贴而不必每次都定义一个函数.它基本上是用户空间的临时printk等价物.

c linux printf fopen fclose

-4
推荐指数
1
解决办法
455
查看次数

Java printf作弊:这合法吗?

这个作弊编译并在NetBeans中运行得很好.然而,由于几个不同的原因,它似乎可能不合法.或者是吗?在某些情况下,它可以使代码更紧凑.只是好奇.

System.out.printf("%-20d John Smith %n", 12);
Run Code Online (Sandbox Code Playgroud)

......这给了我:

12                   John Smith 
Run Code Online (Sandbox Code Playgroud)

java printf

-4
推荐指数
1
解决办法
54
查看次数

C编程 - 整数/长到字符串表示

我只是在阅读"C接口和实现".书中描述了一些非常有趣的概念.有时(在我看来)代码非常难看,但现在我有一个关于将整数/长转换为字符串(char数组)的问题.书中描述的是:

const char *Atom_int(long n) {
    char str[43];
    char *s = str + sizeof str;
    unsigned long m;
    if (n == LONG_MIN)
        m = LONG_MAX + 1UL;
    else if (n < 0)
        m = -n;
    else
        m = n;
    do
        *--s = m%10 + '0';
    while ((m /= 10) > 0);
    if (n < 0)
        *--s = '-';

    return Atom_new(s, str + sizeof str - s);
}
Run Code Online (Sandbox Code Playgroud)

因为没有描述为什么使用这个函数的方式......我想知道为什么它不仅仅是简单的东西:

const char *Atom_int(long n)
{
    char str[43];
    char *s = str;
    sprintf(str, …
Run Code Online (Sandbox Code Playgroud)

c arrays printf long-integer

-4
推荐指数
1
解决办法
119
查看次数

标签 统计

printf ×10

c ×8

arrays ×2

double ×1

fclose ×1

fopen ×1

java ×1

linux ×1

long-integer ×1

php ×1

pointers ×1

struct ×1