小编Sta*_*ack的帖子

在记事本中打开由 C 程序创建的文本文件的错误显示

#include<stdio.h>
#include<stdlib.h>
void init(char*filename)
{
    FILE* f = fopen(filename,"w");
    fprintf(f,"%d ",8);
    fprintf(f,"%d ",6);
    int i, j;
    for(i = 0; i < 8; i ++)
    {
        for(j = 0; j < 8; j ++)
        {
            fprintf(f,"%d ", rand()%6);
        }
    }    
    fclose(f);
}
int main()
{
    init("input.txt");
}
Run Code Online (Sandbox Code Playgroud)

当我打开文件时,我看到:

*????????‰‰???????????‰?‰?????????‰?‰?????‰???????????????????????‰*
Run Code Online (Sandbox Code Playgroud)

为什么我看不到rand()%6打印到此文件的值?

我使用 Dev-C++ 5.6.3 运行程序并以 .cpp 格式保存,用记事本打开

c notepad file character-encoding

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

C 中的三元运算符

#include <stdio.h>
int main()
{
    int x = 1;
    short int i = 2;
    float f = 3;
    if (sizeof((x == 2) ? f : i) == sizeof(float)) 
        printf("float\n");
    else if (sizeof((x == 2) ? f : i) == sizeof(short int))
        printf("short int\n");
}
Run Code Online (Sandbox Code Playgroud)

输出是“浮动”。所以我不明白为什么sizeof((x==2)?f:i)总是返回4。我认为声明缺少变量(x==2)?f:i;但它总是返回4(sizeof(f))

你能帮助我吗!这是我学习的第一门编程语言。我知道这个问题很愚蠢,但对我来说很难。感谢您花时间:) 祝您有美好的一天 ;)

而我第一次尝试使用 Stackoverflow 时,可能会出现一些错误。希望你原谅我

c operators ternary

3
推荐指数
1
解决办法
106
查看次数

标签 统计

c ×2

character-encoding ×1

file ×1

notepad ×1

operators ×1

ternary ×1