从"常量字符*"到"字符*"的转换无效
invalid conversion from `const char*' to `char*'
#include <stdio.h>
#include <string.h>
#include <conio.h>
#define SIZE 20
int main( void )
{
int n; //number of characters to be compared
char s1[ SIZE ], s2[ SIZE ];
char *results_word;
printf( "Enter two strings: " );
gets( s1 );
gets( s2 );
printf( "nEnter the number of characters to be compared: " );
scanf( "%d", &n );
问题从这里开始
results_word =
strncmp( s1, s2, n ) > 0 ? " greater than " :
strncmp( s1, s2, n ) == 0 ? " equal to " : " smaller than " ;
printf( "n%sis%s%s", s1, results_word, s2 );
getche();
return 0;
}//end function main
那么为什么result_word没有得到相应的字符串呢?
您收到的C++错误消息说明了一切:
从"常量字符*"到"字符*"的转换无效
您正在尝试将一些常量"<literal>"
分配给非常量results_word
。
改变
char *results_word;
要成为
const char *results_word;
它会起作用。
相关文章:
- 从矢量<无符号字符>转换为字符* 包括垃圾数据
- 尝试将字符串/字符转换为整数会产生意外结果
- 如何使用C++将字符串中的字符转换为整数变量
- 字符转换功能 std::isupper() & std::islower() C++17
- 将字符 * 转换为字符串 *
- 在编译时将常量字符* 转换为常量 char_type*
- 如何在 C/C++ 中将无符号字符*转换为无符号字符数组?
- 错误:请求从"常量字符 [5]"转换为非标量类型"字符串"
- 无法使用字符串流将字符转换为字符串C++
- 将无符号字符 C++ 转换为 C#
- C++:使用没有位移位的指针将无符号字符转换为无符号 int
- 为什么我可以隐式地将字符*转换为常量字符*,但不能将无符号字符*
- 无法<string>从"常量字符 []"转换为<类名>
- 不能将字符转换为整数吗?
- 编译时将字符*转换为字节
- CP1251:从字符* 转换为 wchar_t* 时的编码失真
- 将单个字符转换为 std::string 前缀 \x01
- PPM 将字符转换为 int 授予负数
- 通过像printf这样的可变参数函数传递一个带有常量字符*转换函数的类
- 将常量字符* 转换为字符时出错