
Enviado em 01/03/2019 - 12:04h
Tentarei explicar minha dificuldade, olhem o exemplo abaixo que fiz e os comentários para essa pergunta.#include <stdio.h>
#include <string.h>
int main(void){
/* 1) QUERO PREENCHER UM VETOR COM VALORES IGUAIS. NÃO ESTOU CONSEGUINDO FAZER!
OBS: SEI SOBRE O FINAL DA LINHA \0 MAS VAMOS IGNORAR POR ENQUANTO POR FAVOR!
ESTES TESTES QUE ESTOU FAZENDO O OBJETIVO É EU ENTENDER MELHOR AS VARIÁVEIS */
char Text[50] = {0}; // FUNCIONA, Preencho o vetor com ZEROS
/* OBS AQUI nesta linha não quero varrer o vetor para preencher! Tipo com for ou while.
A idéia seria preencher de uma só vez na declaração */
char Text2[50] = {1}; // NÃO FUNCIONA, Preencher o vetor com números 1. Ele só escreve em Text2[0]
// EU queria preencher como consegui fazer com os ZEROS acima
// COMPILADOR NÃO ACEITA ISSO
// char Text3[50] = {a}; // Preencher ele inteiro com alguma letra
char Text4[50] = {'x'}; // FALHA só preenche a posição Text4[0]
char Text5[50] = {"x"}; // FALHA só preenche a posição Text5[0]
/* DÚVIDA ABAIXO, eu estou apanhando muito, minha cabeça deu um nó pois não sei
porque não sei colocar um valor em uma posição da variável */
strcpy(Text, "Vivx o Linux"); // Preenchi minha variável com um texto menor que o vetor.
/* Quero agora colocar a letra a no lugar do x!
PORÉM: Não quero localizar o x, Não quero varrer a variável!
Quero somente atribuir um valor a uma posição que eu determinar! Mas não sei se é posível ou permitido isso!
ISSO É POSSÍVEL? */
Text[3] = "a"; // Não funciona Ele colocou um 4 ao invés de a
Text[1] = "b"; // Não funciona Ele colocou um 6 ao invés de b
// Eu queria colocar a LETRA não o decimal
Text[3] = 'a'; // Ele colocou o Decimal de a 97
Text[1] = 'b'; // Ele colocou o Decimal de b 98
// EXISTE alguma forma de eu atribuir valor de forma parecida com a de cima?
}
#include <stdio.h>
#include <string.h>
void concatenate(char [], char []);
int main(){
char Texto1[20] = "Nick", Texto2[] = " usa Slackware";
concatenate(Texto1, Texto2);
printf("Texto = %s\n", Texto1);
}
void concatenate(char Texto1[], char Texto2[]){
/* Aqui dentro, os Texto1 e Texto2 viraram ponteiros não são vetores! PORQUE?
Não entendo eles serem ou parecerem ponteiros, porque não existe nenhuma declaração com *
para indicar que é um ponteiro */
int c = strlen(Texto1), d = 0;
while(Texto2[d] != '\0'){
Texto1[c] = Texto2[d]; // Ele junta os textos como se fossem ponteiros. SÃO PONTEIROS OU NÃO?
d++;
c++;
}
// Aqui posso escolher a posição que quero escrever meu texto. E no caso do 1º Código acima não consigo de forma alguma
Texto1[c] = '\0';
}
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (42)
Assisti Avatar 3: Fogo e Cinzas (1)
Conky, alerta de temperatura alta (7)









