『壹』 為什麼這個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、把錯誤截圖上來,大家幫你分析;