我正试图找到一种打印前导0的好方法,例如01001的邮政编码.虽然这个数字会被存储为1001,但这样做的好方法是什么?
我想过要么使用case case语句/如果那么弄清楚这个数字是多少位数,然后把它转换成一个带有额外0的打印的char数组,但我不禁想到有可能有办法用printf格式语法,这是我的意思.
这是我想要做的:
typedef enum { ONE, TWO, THREE } Numbers;
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写一个函数来执行类似于以下的切换案例:
char num_str[10];
int process_numbers_str(Numbers num) {
switch(num) {
case ONE:
case TWO:
case THREE:
{
strcpy(num_str, num); //some way to get the symbolic constant name in here?
} break;
default:
return 0; //no match
return 1;
}
Run Code Online (Sandbox Code Playgroud)
而不是在每种情况下定义,有没有办法使用枚举变量设置它,就像我在上面尝试做的那样?
使用Eclipse和java,我有点被宠坏了.我开始使用vim在linux环境中进行C编码,有没有办法让vim自动为块做适当的间距?
因此在输入{下一行后将有2个空格缩进,并且该行的返回将使它保持相同的缩进,并且}将向后移动2个空格?
我试图使用外部编译对象coreset.o编译程序.我写了public01.c测试文件,我的函数在calculate.c中,两者都编译.然而它没有把它连接在一起.可能是什么问题?
gcc -o public01.x public01.o computation.o coreset.o
ld: fatal: file coreset.o: wrong ELF class: ELFCLASS64
ld: fatal: File processing errors. No output written to public01.x
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud) 我有一个带结构的函数,我试图将它的变量存储在一个数组中,但是当我运行gcc -Wall -ansi -pedantic-errors -Werror时我得到了这个
int detect_prm(Param prm) {
int prm_arr[] = {prm.field1, prm.field2, prm.field3};
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我得到错误:当我尝试编译上面的内容时,初始化元素在加载时是不可计算的.它对我来说很好,有什么不对?
我在尝试弄清楚如何使用时遇到了很多问题scanf().它似乎与整数一致,相当直接scanf("%d", &i).
我遇到问题的地方是scanf()在循环中尝试读取输入.例如:
do {
printf("counter: %d: ", counter);
scanf("%c %c%d", &command, &prefix, &input);
} while (command != 'q');
Run Code Online (Sandbox Code Playgroud)
当我输入一个有效的结构化输入时c P101,它似乎再次循环,然后提示我.即使只有一个,这似乎也会发生:
scanf("%c", &c)
Run Code Online (Sandbox Code Playgroud)
在一个循环中.在再次提示我之前,它会进行两次循环.是什么让它循环两次,我该如何阻止它?
当我输入较少量的输入时,以编程方式不会有其他字符或数字,例如q,按Enter似乎提示我输入更多.如何scanf()处理单字符和双字符条目?
我正在查看java进程的线程转储,并注意信号调度程序阻塞的一些线程.
什么是信号调度员?它有什么作用?
我在 HP-UX 环境中遇到了某些 Java 应用程序的特殊问题。
堆被设置为 -mx512,然而,使用 gpm 查看这个 java 进程的内存区域,它显示它使用了超过 1.6GB 的 RSS 内存,其中 1.1GB 分配给了数据区域。在 24-48 小时内增长得非常快,然后大幅放缓,每几个小时仍然增长 2MB。但是,Java 堆没有泄漏的迹象。
好奇这是怎么可能的,我研究了一下,发现了这篇关于 java 堆和 c 堆内存泄漏的惠普文章:http : //docs.hp.com/en/JAVAPERFTUNE/Memory-Management.pdf
我的问题是什么决定了在 C 堆和 Java 堆中运行的内容,对于不通过 Java 堆运行的内容,您将如何识别在 C 堆上运行的那些对象?另外java堆是否位于C堆内?
我有一个const char arr []参数,我试图迭代,
char *ptr;
for (ptr= arr; *ptr!= '\0'; ptr++)
/* some code*/
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:赋值从指针目标类型中丢弃限定符
const char []的处理方式与非const不同吗?
我需要得到包含数字1的数字位数.我知道在java中我可以将输入作为a String和use使用charAt,但我知道C中没有隐式的String函数.我怎样才能实现这一点?