Tag: for loop

是否可以使用for循环来更改C中的变量名?

这是一个通用的问题,因此我没有尝试进行故障排除的实际代码。 但我想知道的是,我可以使用for循环来更改C中变量的名称吗? 例如,如果我有part1 , part2 , part3 , part… ,作为我的变量名; 有没有办法将它附加到我的循环计数器,以便它会随着每次传递而递增? 我玩弄了一些东西,似乎没什么用。

理解for循环的退出条件

读完这个post后我有了这个问题用C语言打印二进制表示forms的int 在用户注释中,他们发布了for循环,它为位位置分配1或0,以便从int decimal转换为char * binary。 for(; bits–; u >>= 1) str[bits] = u & 1 ? ‘1’ : ‘0’; 我理解为什么不需要初始值。 这是我一直都知道的for循环的语法: for ( variable initialization; condition; variable update ) 我不明白的是’bit–‘如何成为退出条件。 请帮助我理解这段代码是如何工作的(我测试了它,它是有效的)。 谢谢。

为什么这个循环在c中运行无限次?

我只是在C编程中试验代码。 并且开始了解一种奇怪的行为。 嗯…因为我不是C的专家,所以我不知道它是奇怪的还是正常的。 基本上我的问题是关于以下两行代码之间的区别: – char a = ‘h’; // here variable a is not an array of “char” 和 char a = ‘hi’; //here variable a is not an array of “char” as well (i don’t know if compiler assumes it as an array or not but , at least i didn’t declared it […]

从C上的ASCII字符中检测最常见的重复符号

如何编写一个函数的实现,该函数将ASCII字符序列作为输入,并给出最常见的重复符号? 我需要在C上制作它,哪里不好? char mostFrequentCharacter(char* str, int size); char value; int valueCount = 0; for (int i =0; i = valueCount) { valueCount = totalCount; value = oneChar; } } return value; 要在具有双核ARM处理器和无限内存的设备上运行的优化function。

在for循环中声明和初始化变量

我可以写简单吗? for (int i = 0; … 代替 int i; for (i = 0; … 在C或C ++? (并且变量i只能在循环中访问吗?)

for循环中i ++和++ i之间的区别

可能重复: C ++中的增量 – 何时使用x ++或++ x? 有什么区别 for (int i = 0; i < MAX; i++) { //…do something } 和 for (int i = 0; i < MAX; ++i) { //…do something } ?

cat / Xargs /命令VS for / bash / command

Linux 101 Hacks一书的第38页建议: cat url-list.txt | xargs wget –c 我经常这样做: for i in `cat url-list.txt` do wget -c $i done 有什么东西,除了长度,xargs技术在bash中优于旧的for-loop-technique? 添加 C源代码似乎只有一个fork。 相比之下,有多少叉子有bash-combo? 请详细说明这个问题。

C中’for’循环中的两个变量

我正在编写一些代码,我需要在for循环中使用两个变量。 以下代码似乎没问题吗? 它确实给了我预期的结果。 for (loop_1 = offset,loop_2 = (offset + 2); loop_1 >= (offset – 190),loop_2 <= (190 + offset + 2); loop_1–,loop_2++) { if ( (*(uint8_t*)(in_payload + loop_1) == get_a1_byte(bitslip)) && ((*(uint8_t*)(in_payload + loop_2) == get_a2_byte(bitslip))) ) { a1_count++; } } 但我得到一个编译器警告说: file.c:499:73:警告:逗号表达式的左侧操作数无效 这是什么意思?

对于使用无符号整数时循环条件停止在0?

我有一个必须从N到0(包括)的循环。 我的i变量的类型为size_t ,通常是无符号的。 我目前正在使用以下代码: for (size_t i = N; i != (size_t) -1; –i) { … } 那是对的吗? 有没有更好的方法来处理这种情况? 谢谢, 文森特。

如何使用GCC对齐C for-loop体?

在我们的嵌入式架构中,我们有一个64位IAB(指令对齐缓冲器)。 为了优化获取序列,需要循环体开始与8字节边界对齐。 使用.balign指令很容易在汇编中实现这一点,但我找不到一个会暗示C编译器对齐代码的语法。 尝试在带有.balign指令的内联汇编的for循环之前不起作用,因为它对齐for循环prolog(设置)而不是循环体本身。 在asm()行位于循环内部的情况下,将nop -s添加到循环体中,这需要花费宝贵的周期。 编辑1:假设代码: __asm__ volatile(“nop”); __asm__ volatile(“nop”); for (j0=0; j0<N; j0+=4) { c[j0+ 0] = a[j0+ 0] + b[j0+ 0]; c[j0+ 1] = a[j0+ 1] + b[j0+ 1]; c[j0+ 2] = a[j0+ 2] + b[j0+ 2]; c[j0+ 3] = a[j0+ 3] + b[j0+ 3]; } 我希望第一个c=a+b与8字节地址对齐。 我可以在初步编译后添加类似上面的nop -s,但这是一个特殊的解决方案,它会破坏第一个代码更改。 编辑2:感谢@R ..,解决方案是使用-falign-loops=8编译器选项。