将Char值增加1
我有以下代码:将Char值增加1,c,C,我有以下代码: char buf[] = {0x45, 0x76, 0x72, 0x23, 0x12}; int main(void) { int i; for (i = 0; i<=sizeof(buf); ++i){ printf("%c\n", buf[i]); } } charbuf[]={0x45、0x76、0x72、0x23、0x12}; 内部主(空) { int i; 对于(i=0;i使用+ for (i = 0; i<sizeo
char buf[] = {0x45, 0x76, 0x72, 0x23, 0x12};
int main(void)
{
int i;
for (i = 0; i<=sizeof(buf); ++i){
printf("%c\n", buf[i]);
}
}
charbuf[]={0x45、0x76、0x72、0x23、0x12};
内部主(空)
{
int i;
对于(i=0;i使用+
for (i = 0; i<sizeof(buf); ++i){
printf("%c\n", buf[i] + 1); // print the incremented value
//printf("%c\n", buf[i]++); // increment the printed value
}
对于(i=0;i使用+
for (i = 0; i<sizeof(buf); ++i){
printf("%c\n", buf[i] + 1); // print the incremented value
//printf("%c\n", buf[i]++); // increment the printed value
}
对于(i=0;i您向其添加1:
#include <stdio.h>
char buf[] = { 0x45, 0x76, 0x72, 0x23, 0x12 };
int main(void)
{
int i;
for (i = 0; i < sizeof(buf); i++)
printf("%c\n", buf[i] + 1);
}
#包括
char buf[]={0x45、0x76、0x72、0x23、0x12};
内部主(空)
{
int i;
对于(i=0;i
就这么简单
如果您希望更改并打印缓冲区中的值,则可能使用++buf[i]
代替buf[i]+1
请注意,如果char
是有符号类型,并且数组中某些元素中存储的值相当于0xFF
,则向其中添加一个值是未定义的行为(尽管您很可能会打印ASCII NUL'\0'
)。向其中添加1:
#include <stdio.h>
char buf[] = { 0x45, 0x76, 0x72, 0x23, 0x12 };
int main(void)
{
int i;
for (i = 0; i < sizeof(buf); i++)
printf("%c\n", buf[i] + 1);
}
#包括
char buf[]={0x45、0x76、0x72、0x23、0x12};
内部主(空)
{
int i;
对于(i=0;i
就这么简单
如果您希望更改并打印缓冲区中的值,则可能使用++buf[i]
代替buf[i]+1
请注意,如果char
是有符号类型,并且存储在数组某个元素中的值相当于0xFF
,则向其中添加一个值是未定义的行为(尽管您很可能会打印ASCII NUL'\0'
).for循环的条件部分应该是iNo,我尝试了它并释放了我的最后一个字符。for循环的条件部分应该是iNo,我尝试了它并释放了我的最后一个字符。它不应该是I吗