我的C程序&x27;的输出不是预期的输出 #包括 #包括 int main() { c,p; p=getchar(); int n=p+259; c=n; 普查尔(c); 返回0; }

我的C程序&x27;的输出不是预期的输出 #包括 #包括 int main() { c,p; p=getchar(); int n=p+259; c=n; 普查尔(c); 返回0; },c,output,character,variable-assignment,C,Output,Character,Variable Assignment,如果我输入“a”字符,有人能告诉我为什么这个程序的输出是“d”字符吗 如果p='a',则n=97+259=356。 如果我的n变量是356,如何才能将值100(表示“d”的ASCII码)赋值给c?char可以取0到255之间的值,因为它是8位的 97+259=356,356模256是100。char可以取0到255之间的值,因为它是8位的 97+259=356,356模256为100。char是一种8位数据类型,您大大超过了它的最大表示: #include<stdio.h> #inc

如果我输入“a”字符,有人能告诉我为什么这个程序的输出是“d”字符吗

如果p='a',则n=97+259=356。
如果我的n变量是356,如何才能将值100(表示“d”的ASCII码)赋值给c?

char
可以取0到255之间的值,因为它是8位的


97+259=356,356模256是100。

char
可以取0到255之间的值,因为它是8位的


97+259=356,356模256为100。

char
是一种8位数据类型,您大大超过了它的最大表示:

#include<stdio.h>
#include<conio.h>
int main()
{
   char c, p;
   p=getchar();
   int n=p+259;
   c=n;
   putchar(c);
   return 0;
}

char
是一种8位数据类型,您大大超过了它的最大表示:

#include<stdio.h>
#include<conio.h>
int main()
{
   char c, p;
   p=getchar();
   int n=p+259;
   c=n;
   putchar(c);
   return 0;
}

好的,我知道了。非常感谢!好的,我知道了。非常感谢!非常感谢您的详细解释!。我认为356&0xFF->100。非常感谢您的详细解释!。我想356&0xFF->100。检查你的类型
char
一旦达到255,就会滚动到0。@RPGillespie如果
char
被签名了怎么办?检查您的类型
char
一旦达到255,就会滚动到0。@RPGillespie如果
char
被签名怎么办?