‘壹’ 为什么这个c语言程序总是运行是错误
你这程序是不是求单词数量呀.
代码修改如下:
#include
<stdio.h>
#include
<stdlib.h>
#include
<string.h>
void
main()
{
char
a[200];
int
c=1,i;
puts("请输入一个句子:");
gets(a);
for(i=0;i<strlen(a);i++)
{
if
((a[i]
==
'
')
||
(a[i]
==
',')
||
(a[i]
==
'.'))
{
c=c+1;
}
}
printf("字数为:%d\n",c);
}
‘贰’ C语言代码运行出错 怎么改正
scanf("%s", &a);
而scanf_s()用于读取字符串时,必须提供一个数字以表明最多读取多少位字符,以防止溢出。
比如:scanf_s("%s" , buffer,128); /* 这里必须要有128,以表明最多读取128个字符,如果写成scanf_s("%s",buffer),程序将无法执行到底,且编译器会提示“Unhandled exception at 0xfefefefe in array.exe:0xC0000005: Access tion.” 。当然在安全性要求不高的情况下,不 一定非要用scanf_s()函数,可用scanf("%s",&buffer)代替。 */
‘叁’ c语言程序运行错误
scanf_s("%s", name, 39);
这是最主要的问题,顺便把宏也改成如下形式:
#define DENSITY 62.4
即去掉分号
‘肆’ C语言程序运行错误
运行不了
首先,语法错误,两条语句没有加“;”结束
其次,你这个应该是自定义函数,x要回归main函数才能有效果
再次,longx=0;这句少了个空格
‘伍’ 对于C语言编程出了错,怎么能快速找出错误呢
代码是否存在逻辑错误:
1、变量使用前未被数值
实例:
int main()
{
int x=5,y,z;
z=x*y;
printf("%d",z);
return 0;
}
在此程序中变量y在使用之前未被赋值,所以结果输出z的值就会是系统随机分配一个值给y再加乘以x的值。
2、把赋值赋值符号“=”与等于符号“==”相混淆
实例:
有一下语句:
if(a=5)
{
printf("a等于5");
}
输出的结果永远都是“a等于5”,原因是在执行if(a=5)之时,无论a之前是什么值,此时都会被重新赋值为5,而不是把a的值与5相比较,而正确的表示比较的表示为:
if(a==5)
{
printf("a等于5");
}
(5)c语言程序运行错了扩展阅读
C语言编程注意事项:
1、书写标识符时,忽略了大小写字母的区别。
2、将字符常量与字符串常量混淆。
3、忽略了变量的类型,进行了不合法的运算。
4、忽略了“=”与“==”的区别。
5、忘记加分号。
6、多加分号。
7、输入变量时忘记加地址运算符“&”。
‘陆’ 为什么C语言运行错误问题
编译没出错表明的是语法是正确的!而连接的错误是因为逻辑性的问题,出现了没有解决的外部参数。按照你的意思,应该是求1到10的和。那么在for循环这里是肯定有问题的。还有Int只是定义了变量,但是变量的值是随机的,所以按照你这样的做法是可能进入不到循环的。应该对变量初始化正确的写法是这样的: int i,sum=0; for(i=0,i<=10;i++) sum=sum+i; printf("sum=%d\n",sum); 还有main也写错了
‘柒’ c语言程序运行总是错误
两个思路: 1、排除法:就是设置断点,逐步排除;运行停止,基本是死循环;或者内存越界。 2、把错误截图上来,大家帮你分析;