2019年11月10日 星期日

[C語言學習筆記] 報錯解決方法


當遇到error: stray '241' in program錯誤的解決方法| 程式前沿

報錯的意思是c/c 中的產生了編譯錯誤。
該錯誤是指源程式中有非法字元,需要將非法字元去掉。一般是由於coder使用中文輸入法或者從別的地方直接複製貼上程式碼造成的。程式碼中出現了中文空格,中文引號, 各種中文標點符號都會出現,簡單修改一下就OK了。
解決方法:
1.把出錯行的空格及其前後空格刪掉重新打一下試試。
2.把明顯和其他標點符號顏色不同的改掉。(大部分編譯器都有顏色識別)
3.直接全部重打。

error:subscripted value is neither array nor pointer nor vector

下标值不符合数组或指针要求,即操作的对象不允许有下标值。
企图使用可变的变量作为下标,尤其对于数组。可以使用下标操作的类型比如指针。
需要检查要操作的对象是否是指针,如果不是可以将其类型转换为指针再进行操作。

Warning:passing argument i of putcharmakes integer from pointer withouta cast

传递'putchar'的参数i会使指针产生整数而不进行强制转换
Lvalue required as increment operand
當使用 ++ 或 -- 時必需要有 左值(l value)
講白一點就是說,使用 ++ 或 -- 時要有變數能去儲存運算,而不是一個式子。
原来 在这里如果要使用 *des++ 或者 *source++ 那么 des 或 source 就需要是个能进行加一操作的指针也就是地址,然而在上面的代码中
des 和 source 并不是个地址 而是两个字符串数组;
  那么按照这个想法,改变一下,先定义两个 指针 char* c 和 char* k 分别指向两个字符串数组的首地址,然后再对 这两个指针进行增加加操作
Expected expression before [token
多寫了; or [`
Error:expected expression before int
語法錯誤。





沒有留言:

張貼留言