c语言错误在哪

#include<stdio.h> main(){int c;c=2;char d;d=c+5;printf(✀%s✀,d);}
2024-11-28 16:11:33
推荐回答(5个)
回答1:

第一:

printf('%s',d); 要写成 printf("%s",d); 是双引号。

第二:
"%s" 是输出字符串的,%c 输出一个字符

改掉这两个错误后,在VC下面可能只提示警告,不报错误了。

第三:
两个类型的变量类型不一致,一般都是同种类型的数据相加。

第四:
呵呵,对C语言比较熟悉的人,为了方便解决某些问题,才刻意写这种不是同种类型相加的代码 ^_^

回答2:

int不能直接和char运算,必须转换后才能计算,d=char(c+5);
main 没有申明,void 或其他都行
pringtf 里面应该是双引号。

#include
int main()
{
int c;
c=2;
char d;
d=char(c+5);
printf("%c",d);
return 0;
}

回答3:

c程序的定义部分 必须在执行部分之前 所以 char d; 应放到 c赋值之前
而且 printf括号里的 格式控制字符串 必须应双引号 引起
#include
main()
{
int c;
char d;
c=2;
d=c+5;
printf("%s",d);
}

回答4:

d变量是自符应该用"%c",main函数最好有个返回值,不想有的话写void也可以,最好不要什么都不写,有点的编译器不认。

回答5:

可以直接运算的,只不过字符运算需要都转为ASCII码值(十进制),再相加
再转为字符

你的程序错在,先定义了int 然后给变量赋值
再定义char 这在C语言中是不允许
只需要把char 放到c=2;之前就可以了
还有printf括号内用的是双引号,你用的单引号是错的
而且字符输出用的是%c ,%s是字符串的,改过来就可以了,看下面的
#include
main()
{
int c;
char d;
c=2;
d=c+5;
printf("%c",d);
}