main()定义指针为什么会报错?
第11行报错把 char *wail 改成 wail[15] 就可以运行
为什么不修改会报错?
求解!
程序代码:
#include <iostream> using namespace std; unsigned int c_in_str(const char * str, char ch); int main() { char mmm[15] = "minimum"; // 数组中的字符串 // 有些系统需要使用静态字符来启用数组初始化 char *wail = "ululate"; // wail 指向字符串 unsigned int ms = c_in_str(mmm, 'm'); unsigned int us = c_in_str(wail, 'u'); cout << ms << " m characters in " << mmm << endl; cout << us << " u characters in " << wail << endl; return 0; } // 这个函数计算字符串str中的ch字符数 unsigned int c_in_str(const char *str, char ch) { unsigned int count = 0; while (*str) // 当*str为'\0'时退出 { if (*str == ch) count++; str++; // 移动指针到下一个字符 } return count; }
[此贴子已经被作者于2019-1-12 22:20编辑过]