C toLowerCase函数不起作用 – 访问冲突
发布时间:2020-12-16 10:42:26 所属栏目:百科 来源:网络整理
导读:我有一个简单的函数,它将一个字符数组作为参数,并将所有字符转换为小写.但是,我得到一个奇怪的访问冲突错误.这是代码: void toLower(char *rec){ int i=0; while (rec[i]!=' ') { if (rec[i]='A' rec[i]='Z') rec[i]='a'+rec[i]-'A'; //this is where I ge
我有一个简单的函数,它将一个字符数组作为参数,并将所有字符转换为小写.但是,我得到一个奇怪的访问冲突错误.这是代码:
void toLower(char *rec) { int i=0; while (rec[i]!=' ') { if (rec[i]>='A' && rec[i]<='Z') rec[i]='a'+rec[i]-'A'; //this is where I get an error - assigning the //the value to rec[i] is the problem i++; } } 你能告诉我我的错误是什么吗? 解决方法
在评论中,您说您将文字字符串传递给函数,如下所示:
palindrome("In girum imus nocte et consumimur igni") palindrome将其参数传递给toLower.这不起作用,因为字符串文字是只读的,并且您正在尝试修改它.相反,你可以使用: char str[] = "In girum imus nocte et consumimur igni"; palindrome(str); 或者你可以让回文将其参数复制到一个数组中并在其上调用toLower. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |