#include <stdio.h>

char global[] = "hello";

char *process_string(const char *str) {
	str = global;
	//str[0] = '1';    // Não pode mexer no conteúdo duma string constante
	return str;
}

char *process_string_2(char * const str) {
	//str = global;    // Não pode atribuir a um ponteiro constante
	str[0] = '2';
	return str;
}

char *process_string_3(char *str) {
	str = global;    
	str[0] = '3';
	return str;
}

int main(void) {
	char string[] = "world";
	
	printf("%s %s\n", process_string(string), string);
	printf("%s %s\n", process_string_2(string), string);
	printf("%s %s\n", process_string_3(string), string);
	
	return 0;
}
