C语言中为什么会出现runtime error?
答案:4 悬赏:40
解决时间 2021-01-14 02:33
- 提问者网友:聂風
- 2021-01-13 11:03
C语言中为什么会出现runtime error?
最佳答案
- 二级知识专家网友:舍身薄凉客
- 2021-01-13 11:25
从代码上看 感觉你是初学者吧 有不少基础的概念都没有弄通 建议多看一下C基础 比如类型 输入输出这方面的
大致改一下你的代码
#include
int main(void)
{
char *n = "test string for n
", y = "test string for y
";
//对于字符串必须定义成char *或者char[]类型 用=赋值必须在定义时 如果在运行中要改变其值 则必须定义为char []型,同时用strcpy函数进行赋值
int a;
scanf("%d", &a);//用scanf输入整型值时 变量a前要加& 初学的时候记住就可以了 不需要理解
//学指针和函数后 你会明白为什么要加&
//以下部分没有错误
if(a<2)printf("%s",n);
else printf("%s", y);
return 0;
}
大致改一下你的代码
#include
int main(void)
{
char *n = "test string for n
", y = "test string for y
";
//对于字符串必须定义成char *或者char[]类型 用=赋值必须在定义时 如果在运行中要改变其值 则必须定义为char []型,同时用strcpy函数进行赋值
int a;
scanf("%d", &a);//用scanf输入整型值时 变量a前要加& 初学的时候记住就可以了 不需要理解
//学指针和函数后 你会明白为什么要加&
//以下部分没有错误
if(a<2)printf("%s",n);
else printf("%s", y);
return 0;
}
全部回答
- 1楼网友:行路难
- 2021-01-13 15:01
你的n,y为何定义为int呢?不是char*?
- 2楼网友:酒安江南
- 2021-01-13 13:46
n和y应该这样定义:char *n = "字符串";char *y = "字符串";
- 3楼网友:笑迎怀羞
- 2021-01-13 12:37
问题就在于你的y和n都是整形,但printf里面却用了%s
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息